user query builder for base queries to allow caching