prepare to add more utility functions
commit before change edge types for better fsm detection
Merge branch 'fsm' into dev