fsm generation without pygraphviz