use a builder pattern to add aggregates to the query