AST initial support (has memory leaks)