finish new state update logic