diff --git a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
index 35be06032527f3d35d3b50468168842b82c8ab72..f67f869475e8b28b7357637e040436108fc47261 100644
--- a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
+++ b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
@@ -300,30 +300,42 @@ namespace armarx::armem::gui
     {
         ARMARX_IMPORTANT << "Resolving memory ID: " << id;
 
+        aron::typenavigator::ObjectNavigatorPtr segmentType;
+        wm::EntityInstance instance;
         try
         {
             const wm::Memory* data = getSingleMemoryData(id.memoryName);
             if (data)
             {
+                segmentType = data->getProviderSegment(id).aronType();
+
                 if (id.hasInstanceIndex())
                 {
-                    const wm::EntityInstance& instance = data->getEntityInstance(id);
+                    instance = data->getEntityInstance(id);
                 }
                 else if (id.hasTimestamp())
                 {
                     const wm::EntitySnapshot& snapshot = data->getEntitySnapshot(id);
+                    instance = snapshot.getInstance(0);
                 }
                 else if (id.hasEntityName())
                 {
                     const wm::Entity& entity = data->getEntity(id);
+                    instance = entity.getLatestSnapshot().getInstance(0);
                 }
             }
+            else
+            {
+                return;
+            }
         }
         catch (const armem::error::ArMemError& e)
         {
             ARMARX_WARNING << e.what();
             statusLabel->setText(e.what());
         }
+
+        instanceGroup->view->addInstanceView(instance, segmentType);
     }
 
     void MemoryViewer::updateMemoryTree()
diff --git a/source/RobotAPI/libraries/armem_gui/instance/GroupBox.cpp b/source/RobotAPI/libraries/armem_gui/instance/GroupBox.cpp
index 187120df303ada4d116ccc1a2dfbd457619469a6..ff828d4437f042c7857332ec3957f9b5f55c60a5 100644
--- a/source/RobotAPI/libraries/armem_gui/instance/GroupBox.cpp
+++ b/source/RobotAPI/libraries/armem_gui/instance/GroupBox.cpp
@@ -19,6 +19,7 @@ namespace armarx::armem::gui::instance
         useTypeInfoCheckBox->setChecked(true);
 
         QHBoxLayout* checkBoxLayout = new QHBoxLayout();
+        checkBoxLayout->setDirection(QBoxLayout::RightToLeft);
         checkBoxLayout->addWidget(useTypeInfoCheckBox);
 
         layout->addWidget(view);
diff --git a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp
index 90ff5082dbf2944593428d92181272889c471f0a..f7518291e2ad40f6e657af751e54c80644c88364 100644
--- a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp
+++ b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.cpp
@@ -104,7 +104,7 @@ namespace armarx::armem::gui::instance
             instance = &memory.getEntityInstance(id);
             if (useTypeInfo)
             {
-                aronType = memory.getCoreSegment(id.coreSegmentName).getProviderSegment(id.providerSegmentName).aronType();
+                aronType = memory.getProviderSegment(id).aronType();
             }
         }
         catch (const armem::error::ArMemError& e)
@@ -140,6 +140,18 @@ namespace armarx::armem::gui::instance
     }
 
 
+    void InstanceView::addInstanceView(const wm::EntityInstance& instance, aron::typenavigator::ObjectNavigatorPtr aronType)
+    {
+        ARMARX_IMPORTANT << "Adding instance view for instance: " << instance.id();
+        InstanceView* child = new InstanceView();
+        child->setStatusLabel(statusLabel);
+        child->setUseTypeInfo(useTypeInfo);
+        splitter->addWidget(child);
+
+        child->update(instance, aronType);
+    }
+
+
     void InstanceView::updateInstanceID(const MemoryID& id)
     {
         const std::vector<std::string> items = id.getAllItems();
diff --git a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h
index dea3580b42d787d9da20ea8f0e98b8b20a39e8e1..371112ee51b44b1174971c1648958ae36904072e 100644
--- a/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h
+++ b/source/RobotAPI/libraries/armem_gui/instance/InstanceView.h
@@ -38,6 +38,8 @@ namespace armarx::armem::gui::instance
         void update(const wm::EntityInstance& instance, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr);
         void update();
 
+        void addInstanceView(const wm::EntityInstance& instance, aron::typenavigator::ObjectNavigatorPtr aronType = nullptr);
+
 
     signals: