edited to allow proper aggregation of string columns automatically (i.e. strings get concatenated and floats are summed!)