Add Query class
Add abstract query provider class
Move this thing