move most of the aggregators logic into their base class
cleanup