update with increment and decrement