Add aggregator module and tests