FSM redone