trade fsm used for reference