add fsm_init_with_state()