FSM update