start to use Acc.accum everywhere possible