wip -- using aggregation
logic reworked