use query builder with interface