proof of concept for FSM