reorganize ast.rb