moved the accumulation code
out of the low level kernel
to the controller