use single big template for now, instead of map; selective logic to come later
add AggregateInt and test
implement SumInt using AggregateInt + test