call update() before validating the state