add genfsm