For each token pair, there are possibly many multiple pools with different configurations. As such, it is necessary to specify which pools are to be used for fetching token rates, trade execution and liquidity provision.
Selecting the right pool
KyberSwap Elastic contract provides a function to get a specific pool. For each inputs including tokenIn, tokenOut, fee there will be an exact pool.