added aggregator functions