make accumulate more concise