Initial code submit
Leaving issues:
Need remove illegal character display
FSM timeout support