aggregate now also produces normalised output
added abstract