-typedef map<TagKey, gdcmElValue*> TagElValueHT;
-typedef map<string, gdcmElValue*> TagElValueNameHT;
+
+typedef std::map<TagKey, gdcmElValue*> TagElValueHT;
+typedef std::map<std::string, gdcmElValue*> TagElValueNameHT;
+
+typedef std::string GroupKey;
+typedef std::map<GroupKey, int> GroupHT;
+
+typedef std::list<gdcmElValue*> ListTag; // for linking together the Elements