Adding the FSM finally