diff --git a/source/RobotAPI/libraries/armem/CMakeLists.txt b/source/RobotAPI/libraries/armem/CMakeLists.txt
index 13db1d957c63f5a504992ee071e6ce2e9dc126b3..0e3d33e1950ebaade350c516dd9e6e66dab1fce4 100644
--- a/source/RobotAPI/libraries/armem/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem/CMakeLists.txt
@@ -18,7 +18,6 @@ set(LIB_FILES
     core/Time.cpp
     core/ice_conversions.cpp
     core/aron_conversions.cpp
-    core/Visitor.cpp
 
     core/base/detail/MemoryItem.cpp
     core/base/detail/MaxHistorySize.cpp
@@ -43,6 +42,7 @@ set(LIB_FILES
     core/workingmemory/EntitySnapshot.cpp
     core/workingmemory/Memory.cpp
     core/workingmemory/ProviderSegment.cpp
+    core/workingmemory/Visitor.cpp
     core/workingmemory/ice_conversions.cpp
 
     core/longtermmemory/CoreSegment.cpp
@@ -137,6 +137,7 @@ set(LIB_HEADERS
     core/workingmemory/EntitySnapshot.h
     core/workingmemory/Memory.h
     core/workingmemory/ProviderSegment.h
+    core/workingmemory/Visitor.h
     core/workingmemory/ice_conversions.h
 
     core/longtermmemory/CoreSegment.h
@@ -157,7 +158,6 @@ set(LIB_HEADERS
 
     core/ice_conversions_templates.h
     core/ice_conversions.h
-    core/Visitor.h
 
     client.h
     client/ComponentPlugin.h
diff --git a/source/RobotAPI/libraries/armem/core/Visitor.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/Visitor.cpp
similarity index 96%
rename from source/RobotAPI/libraries/armem/core/Visitor.cpp
rename to source/RobotAPI/libraries/armem/core/workingmemory/Visitor.cpp
index 8e6417391ae3ba4f7d1adeea884bc334e0f42570..986612d1e788bee74e572f20b89dbc78fb99ea58 100644
--- a/source/RobotAPI/libraries/armem/core/Visitor.cpp
+++ b/source/RobotAPI/libraries/armem/core/workingmemory/Visitor.cpp
@@ -2,11 +2,11 @@
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
-#include <RobotAPI/libraries/armem/core/Memory.h>
+#include <RobotAPI/libraries/armem/core/workingmemory/Memory.h>
 #include <RobotAPI/libraries/armem/core/error.h>
 
 
-namespace armarx::armem
+namespace armarx::armem::wm
 {
 
     Visitor::Visitor()
diff --git a/source/RobotAPI/libraries/armem/core/Visitor.h b/source/RobotAPI/libraries/armem/core/workingmemory/Visitor.h
similarity index 99%
rename from source/RobotAPI/libraries/armem/core/Visitor.h
rename to source/RobotAPI/libraries/armem/core/workingmemory/Visitor.h
index e9ec9629d320ec95a4a4a58a71f566e23d84f2c0..c0a3854a242c030113eeb46409c172563660294a 100644
--- a/source/RobotAPI/libraries/armem/core/Visitor.h
+++ b/source/RobotAPI/libraries/armem/core/workingmemory/Visitor.h
@@ -1,6 +1,7 @@
 #pragma once
 
-namespace armarx::armem
+
+namespace armarx::armem::wm
 {
     class Memory;
     class CoreSegment;