add state update methods