diff --git a/source/RobotAPI/libraries/armem_grasping/aron/KnownGraspCandidate.xml b/source/RobotAPI/libraries/armem_grasping/aron/KnownGraspCandidate.xml
index 8397a5d2c65f9d1145b69ab45f0b8e21bba33c20..17247c71fb680682a28cbc47e7c14387fc21861b 100644
--- a/source/RobotAPI/libraries/armem_grasping/aron/KnownGraspCandidate.xml
+++ b/source/RobotAPI/libraries/armem_grasping/aron/KnownGraspCandidate.xml
@@ -6,7 +6,6 @@
     </AronIncludes>
     <GenerateTypes>
         <Object name='armarx::armem::grasping::arondto::KnownGrasp'>
-
             <ObjectChild key='name'>
                 <string />
             </ObjectChild>
@@ -22,25 +21,30 @@
             <ObjectChild key='pose'>
                 <Pose />
             </ObjectChild>
-
         </Object>
 
+        <!-- A Grasp set is a set of grasps that need to be executed to grasp an object. The order is important! -->
         <Object name='armarx::armem::grasping::arondto::KnownGraspSet'>
-
             <ObjectChild key='name'>
                 <string />
             </ObjectChild>
 
+            <ObjectChild key='robot'>
+                <string />
+            </ObjectChild>
+
+            <ObjectChild key='endeffector'>
+                <string />
+            </ObjectChild>
+
             <ObjectChild key='grasps'>
-                <Dict>
+                <List>
                     <armarx::armem::grasping::arondto::KnownGrasp />
-                </Dict>
+                </List>
             </ObjectChild>
-
         </Object>
 
         <Object name='armarx::armem::grasping::arondto::KnownGraspInfo'>
-
             <ObjectChild key='correspondingObject'>
                 <armarx::armem::arondto::MemoryID />
             </ObjectChild>
@@ -54,7 +58,6 @@
             <ObjectChild key='xml'>
                 <armarx::arondto::PackagePath />
             </ObjectChild>
-
         </Object>
 
     </GenerateTypes>
diff --git a/source/RobotAPI/libraries/armem_grasping/server/KnownGraspProviderSegment.cpp b/source/RobotAPI/libraries/armem_grasping/server/KnownGraspProviderSegment.cpp
index 5b8aaafea2d04db384f510d23788b16d94fe34db..e66a190bdf75e652c6505d91f7aae4fe9ae9649a 100644
--- a/source/RobotAPI/libraries/armem_grasping/server/KnownGraspProviderSegment.cpp
+++ b/source/RobotAPI/libraries/armem_grasping/server/KnownGraspProviderSegment.cpp
@@ -50,8 +50,8 @@ namespace armarx::armem::grasping::segment
                 arondto::KnownGraspSet retGraspSet;
 
                 retGraspSet.name = graspSetNode.attribute_value("name");
-                //std::string robotType = graspSetNode.attribute_value("RobotType");
-                //std::string endEffector = graspSetNode.attribute_value("EndEffector");
+                retGraspSet.robot = graspSetNode.attribute_value("RobotType");
+                retGraspSet.endeffector = graspSetNode.attribute_value("EndEffector");
 
                 for (const auto& graspNode : graspSetNode.nodes())
                 {
@@ -97,7 +97,7 @@ namespace armarx::armem::grasping::segment
 
                     ARMARX_INFO << "Found grasp '" << retGrasp.name << "' in set '" << retGraspSet.name << "' for obj '" << objectClassName << "' with pose \n" << retGrasp.pose;
 
-                    retGraspSet.grasps[retGrasp.name] = retGrasp;
+                    retGraspSet.grasps.push_back(retGrasp);
                 }
                 ret.graspSets[retGraspSet.name] = retGraspSet;
             }