fixed fsm