auto stateupdate