initial commit for AST restructuring