refactored createSpecificFSM