added interfaces for new query object