diff --git a/source/RobotAPI/libraries/armem_gui/CMakeLists.txt b/source/RobotAPI/libraries/armem_gui/CMakeLists.txt
index 46fce90ac352efc0ed0870d4988fb1eea80dfa0e..2196f37cb4049f3ff14340055533bd19160af5ff 100644
--- a/source/RobotAPI/libraries/armem_gui/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem_gui/CMakeLists.txt
@@ -10,7 +10,9 @@ set(LIBRARIES
     # ArmarXGui
     SimpleConfigDialog
     # RobotAPI
-    aroneigenconverter armem
+    aroneigenconverter
+    armem
+    armem_server  # for disk LTM
 )
 
 set(SOURCES
diff --git a/source/RobotAPI/libraries/armem_gui/server/CMakeLists.txt b/source/RobotAPI/libraries/armem_gui/server/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..46fce90ac352efc0ed0870d4988fb1eea80dfa0e
--- /dev/null
+++ b/source/RobotAPI/libraries/armem_gui/server/CMakeLists.txt
@@ -0,0 +1,99 @@
+set(LIB_NAME       armem_gui)
+
+armarx_component_set_name("${LIB_NAME}")
+armarx_set_target("Library: ${LIB_NAME}")
+
+
+set(LIBRARIES
+    # ArmarXCore
+    ArmarXCoreInterfaces ArmarXCore
+    # ArmarXGui
+    SimpleConfigDialog
+    # RobotAPI
+    aroneigenconverter armem
+)
+
+set(SOURCES
+
+    gui_utils.cpp
+    lifecycle.cpp
+
+    MemoryViewer.cpp
+    PeriodicUpdateWidget.cpp
+
+    disk/ControlWidget.cpp
+
+    instance/GroupBox.cpp
+    instance/ImageView.cpp
+    instance/InstanceView.cpp
+    instance/MemoryIDTreeWidgetItem.cpp
+    instance/WidgetsWithToolbar.cpp
+    instance/sanitize_typename.cpp
+    instance/serialize_path.cpp
+
+    instance/display_visitors/DataDisplayVisitor.cpp
+    instance/display_visitors/TypedDataDisplayVisitor.cpp
+
+    instance/tree_builders/DataTreeBuilder.cpp
+    instance/tree_builders/DataTreeBuilderBase.cpp
+    instance/tree_builders/TypedDataTreeBuilder.cpp
+
+    instance/tree_visitors/TreeDataVisitorBase.cpp
+    instance/tree_visitors/TreeDataVisitor.cpp
+    instance/tree_visitors/TreeTypedDataVisitor.cpp
+    instance/tree_visitors/TreeTypedJSONConverter.cpp
+
+    memory/GroupBox.cpp
+    memory/TreeWidget.cpp
+
+    query_widgets/QueryWidget.cpp
+    query_widgets/SnapshotForm.cpp
+    query_widgets/SnapshotSelectorWidget.cpp
+)
+set(HEADERS
+
+    gui_utils.h
+    lifecycle.h
+
+    MemoryViewer.h
+    PeriodicUpdateWidget.h
+    TreeWidgetBuilder.h
+
+    PeriodicUpdateWidget.h
+    TreeWidgetBuilder.h
+
+    disk/ControlWidget.h
+
+    instance/GroupBox.h
+    instance/ImageView.h
+    instance/InstanceView.h
+    instance/MemoryIDTreeWidgetItem.h
+    instance/WidgetsWithToolbar.h
+    instance/sanitize_typename.h
+    instance/serialize_path.h
+
+    instance/display_visitors/DataDisplayVisitor.h
+    instance/display_visitors/TypedDataDisplayVisitor.h
+
+    instance/tree_builders/DataTreeBuilder.h
+    instance/tree_builders/DataTreeBuilderBase.h
+    instance/tree_builders/TypedDataTreeBuilder.h
+
+    instance/tree_visitors/TreeDataVisitorBase.h
+    instance/tree_visitors/TreeDataVisitor.h
+    instance/tree_visitors/TreeTypedDataVisitor.h
+    instance/tree_visitors/TreeTypedJSONConverter.h
+
+    memory/GroupBox.h
+    memory/TreeWidget.h
+
+    query_widgets/QueryWidget.h
+    query_widgets/SnapshotForm.h
+    query_widgets/SnapshotSelectorWidget.h
+)
+
+armarx_gui_library("${LIB_NAME}" "${SOURCES}" "${GUI_MOC_HDRS}" "${GUI_UIS}" "" "${LIBRARIES}")
+
+
+# add unit tests
+add_subdirectory(test)
diff --git a/source/RobotAPI/libraries/armem_objects/CMakeLists.txt b/source/RobotAPI/libraries/armem_objects/CMakeLists.txt
index ab26b1f8a38b5e18b16dc49a498c9369d6d918db..e24696bcca865864fcd7c9d46457591ad597a6b5 100644
--- a/source/RobotAPI/libraries/armem_objects/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem_objects/CMakeLists.txt
@@ -50,18 +50,6 @@ armarx_add_library(
 
         SceneSnapshot.cpp
 
-        server/class/FloorVis.cpp
-        server/class/Segment.cpp
-
-        server/instance/Segment.cpp
-        server/instance/SegmentAdapter.cpp
-        server/instance/Decay.cpp
-        server/instance/RobotHeadMovement.cpp
-        server/instance/Visu.cpp
-        server/instance/ArticulatedObjectVisu.cpp
-
-        server/attachments/Segment.cpp
-
         client/articulated_object/Reader.cpp
         client/articulated_object/Writer.cpp
         client/articulated_object/ArticulatedObjectReader.cpp
@@ -71,10 +59,16 @@ armarx_add_library(
         client/attachment/Reader.cpp
         client/attachment/Writer.cpp
 
-)
+    ARON_FILES
+        aron/ObjectClass.xml
+        aron/ObjectInstance.xml
 
+        aron/Attachment.xml
+        # aron/Constraint.xml
+)
 
 
+if (FALSE)
 armarx_enable_aron_file_generation_for_target(
     TARGET_NAME
         "${LIB_NAME}"
@@ -85,8 +79,8 @@ armarx_enable_aron_file_generation_for_target(
         aron/Attachment.xml
         # aron/Constraint.xml
 )
+endif()
 
 add_library(${PROJECT_NAME}::armem_objects ALIAS armem_objects)
 
-# add unit tests
-# add_subdirectory(test)
+add_subdirectory(server)
diff --git a/source/RobotAPI/libraries/armem_objects/server/CMakeLists.txt b/source/RobotAPI/libraries/armem_objects/server/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7535d465bbbe31428f84cf0b1bdfac54e03e3376
--- /dev/null
+++ b/source/RobotAPI/libraries/armem_objects/server/CMakeLists.txt
@@ -0,0 +1,54 @@
+set(ARMARX_LIB_NAME "" )
+set(ARON_FILES "")
+
+set(LIB_NAME    armem_objects_server)
+
+armarx_component_set_name("${LIB_NAME}")
+armarx_set_target("Library: ${LIB_NAME}")
+
+
+armarx_add_library(
+    LIBS
+        # ArmarXCore
+        ArmarXCore
+        # ArmarXGui
+        ArmarXGuiComponentPlugins
+        # RobotAPI
+        RobotAPI::ArViz
+        RobotAPI::ComponentPlugins
+        RobotAPI::Core
+        RobotAPI::armem
+        RobotAPI::armem_robot
+        RobotAPI::armem_objects
+
+    HEADERS
+
+        class/FloorVis.h
+        class/Segment.h
+
+        instance/Segment.h
+        instance/SegmentAdapter.h
+        instance/Decay.h
+        instance/RobotHeadMovement.h
+        instance/Visu.h
+        instance/ArticulatedObjectVisu.h
+
+        attachments/Segment.h
+
+    SOURCES
+        class/FloorVis.cpp
+        class/Segment.cpp
+
+        instance/Segment.cpp
+        instance/SegmentAdapter.cpp
+        instance/Decay.cpp
+        instance/RobotHeadMovement.cpp
+        instance/Visu.cpp
+        instance/ArticulatedObjectVisu.cpp
+
+        attachments/Segment.cpp
+)
+
+
+add_library(${PROJECT_NAME}::armem_objects_server ALIAS armem_objects_server)
+