package refactor
Extracted Syntax from parser
Syntax refactor to make parser a little more readable
Rough encoder