one fsm per module