avoid calling INC/DEC (probably be faster) (contributes to #26)