AST Initial support - (has memort leaks)