updated state behaviour