add cmd_fsm.c and cmd_fsm.h