Improved parser and design of ast.
Improved parser + design of ast.