added new AggregateBuilder class to build up multiple AggregateModes