* fsm improvements