shifting some stuff to AST parsing
added some whitespace stuff