Rethink the query builder.