Improved FSM's