buffer update