WIP on the way to DFA
Got first draft implementation of DFA done
Implement codeGen part