seperate the node to node.h node.cpp
add enum_type_decl