added IQueryProvider interface