fsm demo