TODO cleanup
moved the parser code to its own class
added TODOs