add eclourse and DFA struct