1. Implement column names as slicing
2. Re structure the query for new slice
3. Code re-factoring and code clean up