better not to mutate the accumulator