Working FSM and Demo