diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/AronTreeWidgetController.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/AronTreeWidgetController.cpp
index 4154b24ee47488d66667da9f4b9b006961d76e36..3ea2f8b651af471dc7100068275ad0f1d0efe915 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/AronTreeWidgetController.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/AronTreeWidgetController.cpp
@@ -69,6 +69,7 @@ namespace armarx
             AronTreeWidgetContextMenuVisitor visitor(clickedItem,pos, tree, idx.row());
 
             aron::type::visit(visitor, clickedItem->aronType);
+            visitor.showMenuAndExecute();
         }
     }
 
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetContextMenu.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetContextMenu.cpp
index 05ab18d65a854e35510ea3399fea74eda76769a1..a894b9bbee7b7c2b3ce620673a077086410c8ced 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetContextMenu.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetContextMenu.cpp
@@ -6,7 +6,6 @@
 #include <QTreeWidget>
 
 #include <QMenu>
-#include <QAction>
 
 namespace armarx
 {
@@ -14,22 +13,35 @@ AronTreeWidgetContextMenuVisitor::AronTreeWidgetContextMenuVisitor(AronTreeWidge
     parentItem(i), contextMenuParent(contextMenuParent), pos(pos), index(x)
 {}
 
-void AronTreeWidgetContextMenuVisitor::deleteItemMenu() {
+void AronTreeWidgetContextMenuVisitor::addDeleteAction() {
     auto* castedParent = AronTreeWidgetItem::DynamicCast(parentItem->QTreeWidgetItem::parent());
     if(!castedParent){
         // must be top level element
         return;
     }
     auto aronType = castedParent->aronType->getDescriptor();
-    //TODO: not only for dict
-    if(aron::type::Descriptor::DICT == aronType){
+    //TODO: check if works for list
+    if(aron::type::Descriptor::DICT == aronType || aron::type::Descriptor::LIST == aronType){
         QMenu contextMenu("Context menu", contextMenuParent);
-        QAction removeEl("remove element", contextMenuParent);
-        contextMenu.addAction(&removeEl);
-        auto* chosenAction = contextMenu.exec(contextMenuParent->mapToGlobal(pos));
+        actions.emplace_back("remove element", contextMenuParent);
+        action_callbacks.push_back([this]() mutable {
+           this->executeDelete();
+        });
+    }
+}
+
+void AronTreeWidgetContextMenuVisitor::executeDelete()
+{
+    auto* containerPtr = parentItem->QTreeWidgetItem::parent();
+    containerPtr->removeChild(parentItem);
+    auto * castedContainer = AronTreeWidgetItem::DynamicCast(containerPtr);
 
-        if(chosenAction && chosenAction == &removeEl){
-            castedParent->removeChild(parentItem);
+    // if the parent item is a List, we need to redo the numbers
+    if(castedContainer && castedContainer->aronType->getDescriptor() == aron::type::Descriptor::LIST) {
+        // start renumbering from the removed child onwards
+        for(int i = index; i < castedContainer->childCount(); ++i){
+            std::string numberString = std::to_string(i);
+            castedContainer->child(i)->setText(0, numberString.c_str());
         }
     }
 }
@@ -37,108 +49,148 @@ void AronTreeWidgetContextMenuVisitor::deleteItemMenu() {
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::ObjectPtr &)
 {
-deleteItemMenu();
+addDeleteAction();
 }
 
-void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::DictPtr &)
+// lol
+void armarx::AronTreeWidgetContextMenuVisitor::addAddAction()
 {
-    QMenu contextMenu("Context menu", contextMenuParent);
-    QAction addElem("Add element", contextMenuParent);
-    contextMenu.addAction(&addElem);
+    actions.emplace_back("Add element", contextMenuParent);
+    action_callbacks.push_back([this]() mutable {
+        this->executeAddElement();
+    });
+}
 
-    auto* chosenAction = contextMenu.exec(contextMenuParent->mapToGlobal(pos));
+void AronTreeWidgetContextMenuVisitor::executeAddElement()
+{
+    AronTreeWidgetCreatorVisitor creator;
+    aron::type::visit(creator, parentItem->aronType->getChildren()[0]);
 
-    if(chosenAction == &addElem)
-    {
-        AronTreeWidgetCreatorVisitor creator;
-        aron::type::visit(creator, parentItem->aronType->getChildren()[0]);
-        if(!creator.createdQWidgetItem){
-            throw std::runtime_error("Creation of TreeElementChild failed unexpectedly");
-        }
-        parentItem->addChild(creator.createdQWidgetItem);
+    // TODO: this creator should check if it is contained in a list / dict -> set key val properly
+    if(!creator.createdQWidgetItem){
+        throw std::runtime_error("Creation of TreeElementChild failed unexpectedly");
     }
+    // add column 0 name to newly created item (this gets called from list and dict here)
+    std::string childNr = std::to_string(parentItem->childCount());
+    creator.createdQWidgetItem->setText(0, childNr.c_str());
+    parentItem->addChild(creator.createdQWidgetItem);
+}
+
+void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::DictPtr &)
+{
+    addAddAction();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::PairPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::TuplePtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::ListPtr &)
 {
-    deleteItemMenu();
+    addAddAction();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::NDArrayPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::MatrixPtr &)
 {
-
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::QuaternionPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::ImagePtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::PointCloudPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::IntEnumPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::IntPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::LongPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::FloatPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::DoublePtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::BoolPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitAronVariant(const aron::type::StringPtr &)
 {
-    deleteItemMenu();
+    addDeleteAction();
 }
 
 void AronTreeWidgetContextMenuVisitor::visitUnknown(Input &)
 {
     ARMARX_WARNING << "Tried to open Context menu on unknown aron type";
 }
+
+void AronTreeWidgetContextMenuVisitor::showMenuAndExecute()
+{
+    QMenu menu("Context Menu", contextMenuParent);
+    for(auto& el : actions){
+        menu.addAction(&el);
+    }
+    auto* chosenAction = menu.exec(contextMenuParent->mapToGlobal(pos));
+
+    if(!chosenAction){
+        return;
+    }
+
+    // not elegant, but is a small loop anyway
+    auto it = actions.begin();
+    size_t count = 0;
+    while(it != actions.end())
+    {
+        if (chosenAction == &*it){
+            action_callbacks[count]();
+            break;
+        }
+        ++it;
+        ++count;
+    }
+
+}
 }
 
+
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetContextMenu.h b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetContextMenu.h
index e568339d73bb50a7fa71eb44f49d39fe548ba02e..f3fa29ff85ff85ad8a94f182bd9a2d2faef6e1c0 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetContextMenu.h
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetContextMenu.h
@@ -4,6 +4,7 @@
 #include <RobotAPI/libraries/aron/core/type/variant/All.h>
 #include <RobotAPI/libraries/aron/core/data/variant/All.h>
 #include <RobotAPI/libraries/aron/core/type/visitor/variant/VariantVisitor.h>
+#include <QAction>
 
 class QTreeWidget;
 class QPoint;
@@ -43,10 +44,17 @@ namespace armarx {
         void visitAronVariant(const aron::type::StringPtr&) final;
         void visitUnknown(Input&) final;
 
+        void showMenuAndExecute();
+
     private:
+        std::list<QAction> actions;
+        std::vector<std::function<void()>> action_callbacks;
+
         // Creates a remove option if the element is a direct child of a list or dict
-        void deleteItemMenu();
-        void createPlaceholderContextMenu();
+        void addDeleteAction();
+        void executeDelete();
 
+        void addAddAction();
+        void executeAddElement();
     };
 }
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetConverter.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetConverter.cpp
index fbdc653abc5fa7cab715fc8abc7aa200de0243c1..45e5aedcf1b7f730c54964d948dd10015929e692 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetConverter.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetConverter.cpp
@@ -71,19 +71,29 @@ namespace armarx
     }
 
     void
-    AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::PairPtr& i)
+    AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::ListPtr& i)
     {
-        // TODO
+        auto createdAronList = std::make_shared<aron::data::List>(i->getPath());
+        createdAron = createdAronList;
+        auto * parentTreeElem = parentItem->child(index);
+
+        for(int j = 0; j < parentTreeElem->childCount(); ++j){
+            AronTreeWidgetConverterVisitor convVisitor(parentTreeElem, j);
+            if(convVisitor.createdAron){
+                createdAronList->addElement(convVisitor.createdAron);
+            }
+        }
     }
 
+
     void
-    AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::TuplePtr& i)
+    AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::PairPtr& i)
     {
         // TODO
     }
 
     void
-    AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::ListPtr& i)
+    AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::TuplePtr& i)
     {
         // TODO
     }
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.cpp
index e6c10f8c6cedc08a086a42ede8b35437b806c628..8e18b39d51c747612683ef609d0d9a32b6502894 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.cpp
@@ -32,7 +32,7 @@
 namespace armarx
 {
     void
-    AronTreeWidgetCreatorVisitor::createSimpleTreeViewWidget(Input& i, const std::string& defaul)
+    AronTreeWidgetCreatorVisitor::createSimpleTreeViewWidget(Input& i, const std::string& defaul, bool isEditable)
     {
         ARMARX_CHECK_NOT_NULL(i);
 
@@ -43,7 +43,10 @@ namespace armarx
         createdQWidgetItem->setText(1, QString::fromStdString(defaul));
         createdQWidgetItem->setText(2, QString::fromStdString(i->getShortName()));
         createdQWidgetItem->setText(3, QString::fromStdString(aron_tree_widget::constantes::ITEM_EMPTY_MESSAGE) /*QString::fromStdString(i->getDefaultFromString())*/);
-        createdQWidgetItem->setFlags(createdQWidgetItem->flags() | Qt::ItemIsEditable);
+        if (isEditable)
+        {
+            createdQWidgetItem->setFlags(createdQWidgetItem->flags() | Qt::ItemIsEditable);
+        }
     }
 
     void
@@ -79,27 +82,17 @@ namespace armarx
         ARMARX_CHECK_NOT_NULL(i);
 
         auto key = i->getShortName();
-        if (i->getPath().hasElement())
+        if (i->getPath().withDetachedLastElement().hasElement())
         {
-            key = i->getPath().getLastElement();
+            key = i->getPath().withDetachedLastElement().getLastElement();
         }
 
         createdQWidgetItem = new AronTreeWidgetItem();
         createdQWidgetItem->aronType = i;
+        createdQWidgetItem->setText(2, key.c_str());
 
-        // TODO: this makes no sense here. The DictType has only one member, its key-type... Maybe handle the element created here as prototype!
+        // The DictType has only one member, its key-type. This also must be present
         ARMARX_CHECK_EQUAL(i->getChildren().size(),1);
-        const auto dictValueType = i->getChildren()[0];
-        ARMARX_INFO << "Creating AronTreeWidget; As only child of dict, representing its type: "
-                    << dictValueType->getShortName();
-        AronTreeWidgetCreatorVisitor v;
-        aron::type::visit(v, dictValueType);
-
-        if (v.createdQWidgetItem)
-        {
-            createdQWidgetItem->addChild(v.createdQWidgetItem);
-        }
-
     }
     void
     AronTreeWidgetCreatorVisitor::visitAronVariant(const aron::type::PairPtr& i)
@@ -109,7 +102,7 @@ namespace armarx
     { createSimpleTreeViewWidget(i, ""); }
     void
     AronTreeWidgetCreatorVisitor::visitAronVariant(const aron::type::ListPtr& i)
-    { createSimpleTreeViewWidget(i, ""); }
+    { createSimpleTreeViewWidget(i, "", false); }
     void
     AronTreeWidgetCreatorVisitor::visitAronVariant(const aron::type::NDArrayPtr& i)
     { createSimpleTreeViewWidget(i, ""); }
@@ -127,7 +120,21 @@ namespace armarx
     { createSimpleTreeViewWidget(i, ""); }
     void
     AronTreeWidgetCreatorVisitor::visitAronVariant(const aron::type::IntEnumPtr& i)
-    { createSimpleTreeViewWidget(i, ""); }
+    {
+        ARMARX_CHECK_NOT_NULL(i);
+        ARMARX_CHECK_GREATER(i->getAcceptedValueNames().size(), 0);
+
+        auto key = i->getPath().getLastElement();
+        createdQWidgetItem = new AronTreeWidgetItem();
+        createdQWidgetItem->aronType = i;
+        createdQWidgetItem->setText(0, "");
+        createdQWidgetItem->setText(1, QString::fromStdString(i->getAcceptedValueNames()[0]));
+        createdQWidgetItem->setText(2, QString::fromStdString(i->getShortName()));
+        createdQWidgetItem->setText(3, QString::fromStdString(aron_tree_widget::constantes::ITEM_EMPTY_MESSAGE));
+
+        createdQWidgetItem->setFlags(createdQWidgetItem->flags() | Qt::ItemIsEditable);
+
+    }
     void
     AronTreeWidgetCreatorVisitor::visitAronVariant(const aron::type::IntPtr& i)
     { createSimpleTreeViewWidget(i, "0"); }
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.h b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.h
index 63dde7ef0be04d8d790c5f8434ae1b82faeb107a..86c2075498b80fb40beffe9c10270532dd0afaf1 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.h
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetCreator.h
@@ -38,7 +38,7 @@ namespace armarx
 
         AronTreeWidgetCreatorVisitor() = default;
 
-        void createSimpleTreeViewWidget(Input& i, const std::string&);
+        void createSimpleTreeViewWidget(Input& i, const std::string&, bool isEditable = true);
 
         void visitAronVariant(const aron::type::ObjectPtr&) final;
         void visitAronVariant(const aron::type::DictPtr& i) final;
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetSetter.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetSetter.cpp
index b4c732b1a3f7549173803589462c6db8fe743340..a4a730171fa6bcb8a395a300d981e60ed9c0492d 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetSetter.cpp
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetSetter.cpp
@@ -31,6 +31,15 @@ namespace armarx
     bool AronTreeWidgetSetterVisitor::checkTreeWidgetItemForSimilarName(const std::string& name) const
     {
         QTreeWidgetItem* el = parentItem->child(index);
+
+        // do not check attribute name, if the element is part of a list or map
+        auto* castedThis = AronTreeWidgetItem::DynamicCast(el->parent());
+        if(castedThis){
+            auto descr = castedThis->aronType->getDescriptor();
+            if(descr == aron::type::Descriptor::LIST || descr == aron::type::Descriptor::DICT){
+                return true;
+            }
+        }
         std::string n = el->text(0).toStdString();
         if (name != n)
         {
@@ -40,27 +49,42 @@ namespace armarx
         return true;
     }
 
+    void AronTreeWidgetSetterVisitor::adjustNumberOfChildren(AronTreeWidgetItem *parent, size_t numChildren)
+    {
+        if (((size_t) parent->childCount()) < numChildren){
+            // The type to create must be the only child of the current aron type
+            ARMARX_CHECK_EQUAL(parent->aronType->childrenSize(),1);
+            size_t childrenToAdd= numChildren - parent->childCount();
+            for(size_t j = 0; j < childrenToAdd; ++j){
+                AronTreeWidgetCreatorVisitor childCreator;
+                aron::type::visit(childCreator,parent->aronType->getChildren()[0]);
+                ARMARX_CHECK_NOT_NULL(childCreator.createdQWidgetItem);
+
+                parent->addChild(childCreator.createdQWidgetItem);
+            }
+        }
+        else if ((size_t) parent->childCount() > numChildren){
+            size_t numChilds = (size_t) parent->childCount() - numChildren;
+            // pop the last child
+            for(size_t j = 0; j < numChilds; ++j){
+                parent->removeChild(parent->child(parent->childCount()-1));
+            }
+        }
+    }
+
+
+
     void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::DictPtr& i)
     {        
         // either it is the root or it has a name
         if (i->getPath().size() == 0 || checkTreeWidgetItemForSimilarName(i->getPath().getLastElement()))
         {
             QTreeWidgetItem* el = parentItem->child(index);
-            auto aronTreeWidget = AronTreeWidgetItem::DynamicCastAndCheck(el);
-
-            if (((size_t) el->childCount()) < i->getElements().size()){
-                ARMARX_INFO << "missing enough child types to correctly display dict. -> creating rest.";
-                size_t numChilds = i->getElements().size() - (size_t) el->childCount();
-                for(size_t j = 0; j < numChilds; ++j){
-                    AronTreeWidgetCreatorVisitor childCreator;
-                    aron::type::visit(childCreator,aronTreeWidget->aronType->getChildren()[0]);
-                    ARMARX_CHECK_NOT_NULL(childCreator.createdQWidgetItem);
-                    childCreator.createdQWidgetItem->setFlags(childCreator.createdQWidgetItem->flags() | Qt::ItemIsEditable);
-                    el->addChild(childCreator.createdQWidgetItem);
-                }
-            }
-            // TODO: remove if too much items
+            auto* aronTreeWidget = AronTreeWidgetItem::DynamicCastAndCheck(el);
+            // allocate enough child items
+            adjustNumberOfChildren(aronTreeWidget, i->childrenSize());
 
+            // write child values
             unsigned int x = 0;
             for (const auto& [key, value] : i->getElements())
             {
@@ -74,15 +98,21 @@ namespace armarx
 
     void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::ListPtr& i)
     {
-        if (checkTreeWidgetItemForSimilarName(i->getPath().getLastElement()))
-        {
+        if(checkTreeWidgetItemForSimilarName(i->getPath().getLastElement())){
             QTreeWidgetItem* el = parentItem->child(index);
+            auto* aronTreeWidget = AronTreeWidgetItem::DynamicCastAndCheck(el);
+            adjustNumberOfChildren(aronTreeWidget, i->childrenSize());
 
             unsigned int x = 0;
             for (const auto& value : i->getElements())
             {
-                AronTreeWidgetSetterVisitor v(el, x++);
+                AronTreeWidgetSetterVisitor v(el, x);
                 aron::data::visit(v, value);
+                auto* currChild = el->child(x);
+                std::string listNum = std::to_string(x);
+                currChild->setText(0, listNum.c_str());
+
+                ++x;
             }
         }
     }
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetSetter.h b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetSetter.h
index 336be31e20d4ff44496a8a2f8424d7dd3c1419f1..d2a917f795923ca5183e7df97452e46ea2d797eb 100644
--- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetSetter.h
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/aronTreeWidget/visitors/AronTreeWidgetSetter.h
@@ -58,6 +58,7 @@ namespace armarx
 
     private:
         bool checkTreeWidgetItemForSimilarName(const std::string& name) const;
+        void adjustNumberOfChildren(AronTreeWidgetItem* parent, size_t numChildren);
     };
 }
 
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/.cmake/api/v1/query/cache-v2 b/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/.cmake/api/v1/query/cache-v2
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/.cmake/api/v1/query/cmakeFiles-v1 b/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/.cmake/api/v1/query/cmakeFiles-v1
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/.cmake/api/v1/query/codemodel-v2 b/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/.cmake/api/v1/query/codemodel-v2
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/qtcsettings.cmake b/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/qtcsettings.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..fccf6a67eee120cbb1092f841fda5cca870a5a14
--- /dev/null
+++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/build/qtcsettings.cmake
@@ -0,0 +1,8 @@
+# This file is managed by Qt Creator, do not edit!
+
+set("CMAKE_BUILD_TYPE" "RelWithDebInfo" CACHE "STRING" "" FORCE)
+set("CMAKE_PROJECT_INCLUDE_BEFORE" "/common/homes/students/bodmer/opt/qtcreator/qtcreator/share/qtcreator/package-manager/auto-setup.cmake" CACHE "PATH" "" FORCE)
+set("QT_QMAKE_EXECUTABLE" "/usr/lib/qt5/bin/qmake" CACHE "STRING" "" FORCE)
+set("CMAKE_PREFIX_PATH" "/usr" CACHE "STRING" "" FORCE)
+set("CMAKE_C_COMPILER" "/usr/bin/gcc" CACHE "STRING" "" FORCE)
+set("CMAKE_CXX_COMPILER" "/usr/bin/g++" CACHE "STRING" "" FORCE)
\ No newline at end of file