add inherit()
add NewAST, DeleteAST