started refactoring the parser
new parser implementation