TODO: check FSM_WAIT