beginning of core AST