modify FSM