add enum for primitive types
add more AST classes