QueryOptions refactored to a builder pattern