removed node attributes, created AttributeNode instead.
added EnumMemberNode and user-defined type members.