Clean up and using single QueryProviders per call

- Called QueryProvider as one of Builder parameters
- Code cleanup
- Added summaries