FSM: new API