diff --git a/source/armarx/navigation/client/NavigationStackConfig.cpp b/source/armarx/navigation/client/NavigationStackConfig.cpp
index 90e6247bb804b5a2a07fc50d0474cb92144c882c..85a5a5dfc57a6f3cfd76475db31716f0d2dfcb4b 100644
--- a/source/armarx/navigation/client/NavigationStackConfig.cpp
+++ b/source/armarx/navigation/client/NavigationStackConfig.cpp
@@ -6,9 +6,10 @@
 #include <ArmarXCore/core/logging/Logging.h>
 
 #include <RobotAPI/interface/aron/Aron.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/NavigatorFactory.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/primitive/String.h>
+#include <RobotAPI/libraries/aron/core/data/variant/Factory.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/primitive/String.h>
+
 
 #include <armarx/navigation/core/constants.h>
 #include <armarx/navigation/core/types.h>
@@ -16,15 +17,14 @@
 
 namespace armarx::navigation::client
 {
-    aron::datanavigator::DictNavigatorPtr
+    aron::data::DictPtr
     GeneralConfig::toAron() const
     {
-        aron::datanavigator::DictNavigatorPtr element(new aron::datanavigator::DictNavigator);
+        aron::data::DictPtr element(new aron::data::Dict);
         return element;
     }
 
-    aron::data::AronDictPtr
-    NavigationStackConfig::toAron() const
+    aron::data::dto::DictPtr NavigationStackConfig::toAron() const
     {
         ARMARX_CHECK(isValid())
             << "The NavigationStackConfig is not valid as some elements are not set!";
@@ -62,9 +62,9 @@ namespace armarx::navigation::client
     NavigationStackConfig&
     NavigationStackConfig::globalPlanner(const glob_plan::GlobalPlannerParams& params)
     {
-        aron::datanavigator::DictNavigatorPtr element(new aron::datanavigator::DictNavigator);
+        aron::data::DictPtr element(new aron::data::Dict);
         element->addElement(core::NAME_KEY,
-                            std::make_shared<aron::datanavigator::StringNavigator>(
+                            std::make_shared<aron::data::String>(
                                 glob_plan::AlgorithmNames.to_name(params.algorithm())));
         element->addElement(core::PARAMS_KEY, params.toAron());
 
@@ -76,9 +76,9 @@ namespace armarx::navigation::client
     NavigationStackConfig&
     NavigationStackConfig::localPlanner(const loc_plan::LocalPlannerParams& params)
     {
-        aron::datanavigator::DictNavigatorPtr element(new aron::datanavigator::DictNavigator);
+        aron::data::DictPtr element(new aron::data::Dict);
         element->addElement(core::NAME_KEY,
-                            std::make_shared<aron::datanavigator::StringNavigator>(
+                            std::make_shared<aron::data::String>(
                                 loc_plan::AlgorithmNames.to_name(params.algorithm())));
         element->addElement(core::PARAMS_KEY, params.toAron());
 
@@ -90,9 +90,9 @@ namespace armarx::navigation::client
     NavigationStackConfig&
     NavigationStackConfig::trajectoryController(const traj_ctrl::TrajectoryControllerParams& params)
     {
-        aron::datanavigator::DictNavigatorPtr element(new aron::datanavigator::DictNavigator);
+        aron::data::DictPtr element(new aron::data::Dict);
         element->addElement(core::NAME_KEY,
-                            std::make_shared<aron::datanavigator::StringNavigator>(
+                            std::make_shared<aron::data::String>(
                                 traj_ctrl::AlgorithmNames.to_name(params.algorithm())));
         element->addElement(core::PARAMS_KEY, params.toAron());
 
@@ -105,9 +105,9 @@ namespace armarx::navigation::client
     NavigationStackConfig&
     NavigationStackConfig::safetyController(const safe_ctrl::SafetyControllerParams& params)
     {
-        aron::datanavigator::DictNavigatorPtr element(new aron::datanavigator::DictNavigator);
+        aron::data::DictPtr element(new aron::data::Dict);
         element->addElement(core::NAME_KEY,
-                            std::make_shared<aron::datanavigator::StringNavigator>(
+                            std::make_shared<aron::data::String>(
                                 safe_ctrl::AlgorithmNames.to_name(params.algorithm())));
         element->addElement(core::PARAMS_KEY, params.toAron());
 
diff --git a/source/armarx/navigation/client/NavigationStackConfig.h b/source/armarx/navigation/client/NavigationStackConfig.h
index fd49c961559ebe201c7dc616899d1b42dab7526f..c20a36bb367890c773b5aaeb215a45149f298f46 100644
--- a/source/armarx/navigation/client/NavigationStackConfig.h
+++ b/source/armarx/navigation/client/NavigationStackConfig.h
@@ -25,7 +25,7 @@
 #include <memory>
 
 #include <RobotAPI/interface/aron/Aron.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include <armarx/navigation/core/types.h>
 
@@ -48,7 +48,7 @@ namespace armarx::navigation::client
 
         virtual ~GeneralConfig() = default;
 
-        virtual aron::datanavigator::DictNavigatorPtr toAron() const;
+        virtual aron::data::DictPtr toAron() const;
     };
 
     class NavigationStackConfig
@@ -68,13 +68,13 @@ namespace armarx::navigation::client
 
         NavigationStackConfig& safetyController(const safe_ctrl::SafetyControllerParams& params);
 
-        aron::data::AronDictPtr toAron() const;
+        aron::data::dto::DictPtr toAron() const;
 
         //! checks if at least global planner and trajectory controller are set
         bool isValid() const;
 
     protected:
     private:
-        aron::datanavigator::DictNavigator dict;
+        aron::data::Dict dict;
     };
 } // namespace armarx::navigation::client
diff --git a/source/armarx/navigation/components/NavigationMemory/NavigationMemory.cpp b/source/armarx/navigation/components/NavigationMemory/NavigationMemory.cpp
index 24388b807098770d6e5f2f0ad1076ada6f3890bc..ab09c3feea4bccefcaa85735d4c7fb93f76b0e7f 100644
--- a/source/armarx/navigation/components/NavigationMemory/NavigationMemory.cpp
+++ b/source/armarx/navigation/components/NavigationMemory/NavigationMemory.cpp
@@ -30,7 +30,7 @@
 
 #include <RobotAPI/libraries/armem/client/query.h>
 #include <RobotAPI/libraries/armem/core/operations.h>
-#include <RobotAPI/libraries/armem/server/ltm/disk/operations.h>
+#include <RobotAPI/libraries/armem/server/ltm/disk/Memory.h>
 #include <RobotAPI/libraries/armem/server/wm/memory_definitions.h>
 
 #include "Visu.h"
@@ -138,7 +138,9 @@ namespace armarx::navigation
             std::string resolved = ArmarXDataPath::resolvePath(properties.snapshotToLoad);
             if (auto path = findSnapshotDirectory(resolved, workingMemory().name()))
             {
-                armem::wm::Memory memory = armem::server::ltm::disk::load(path.value());
+                // armem::wm::Memory memory = armem::server::ltm::disk::load(path.value());
+                armem::server::ltm::disk::Memory ltm(path.value());
+                armem::wm::Memory memory = ltm.loadAll();
 
                 ARMARX_INFO << "Loaded " << armem::print(memory);
                 workingMemory().update(armem::toCommit(memory));
diff --git a/source/armarx/navigation/components/Navigator/Navigator.cpp b/source/armarx/navigation/components/Navigator/Navigator.cpp
index a53c8528d01d3d06a8bf41461871dcd67accdb08..74292c5b68c1f503c246e1c2a3ec2880076204da 100644
--- a/source/armarx/navigation/components/Navigator/Navigator.cpp
+++ b/source/armarx/navigation/components/Navigator/Navigator.cpp
@@ -227,7 +227,7 @@ namespace armarx::navigation::components
     }
 
     void
-    components::Navigator::createConfig(const aron::data::AronDictPtr& stackConfig,
+    components::Navigator::createConfig(const aron::data::dto::DictPtr& stackConfig,
                                         const std::string& callerId,
                                         const Ice::Current&)
     {
diff --git a/source/armarx/navigation/components/Navigator/Navigator.h b/source/armarx/navigation/components/Navigator/Navigator.h
index 9acc01de474274f3071e61ea905aaad4665dddb8..e557ffff1cb4ae10290595d52843a5d304072eed 100644
--- a/source/armarx/navigation/components/Navigator/Navigator.h
+++ b/source/armarx/navigation/components/Navigator/Navigator.h
@@ -93,7 +93,7 @@ namespace armarx::navigation::components
         /// @see armarx::ManagedIceObject::getDefaultName()
         std::string getDefaultName() const override;
 
-        void createConfig(const aron::data::AronDictPtr& stackConfig,
+        void createConfig(const aron::data::dto::DictPtr& stackConfig,
                           const std::string& callerId,
                           const Ice::Current& c = Ice::emptyCurrent) override;
 
diff --git a/source/armarx/navigation/core/Graph.cpp b/source/armarx/navigation/core/Graph.cpp
index cf969e9f0ea29a31d133856ff2a926b7b24ae246..c7cf378a3b6e1efe2e4c292ef5cc374b7e963a82 100644
--- a/source/armarx/navigation/core/Graph.cpp
+++ b/source/armarx/navigation/core/Graph.cpp
@@ -230,8 +230,7 @@ namespace armarx::navigation
 
 
     void
-    core::resolveLocation(Graph::Vertex& vertex,
-                          const aron::datanavigator::DictNavigatorPtr& locationData)
+    core::resolveLocation(Graph::Vertex& vertex, const aron::data::DictPtr& locationData)
     {
         navigation::location::arondto::Location dto;
         dto.fromAron(locationData);
diff --git a/source/armarx/navigation/core/Graph.h b/source/armarx/navigation/core/Graph.h
index b933c5e955fcb4a01a82dd2774e3601ed5aee8a1..5b8fb88b6fdd83b4f83a1f6ae3355feba9804c64 100644
--- a/source/armarx/navigation/core/Graph.h
+++ b/source/armarx/navigation/core/Graph.h
@@ -114,8 +114,7 @@ namespace armarx::navigation::core
 
     // Location resolution
 
-    void resolveLocation(Graph::Vertex& vertex,
-                         const aron::datanavigator::DictNavigatorPtr& locationData);
+    void resolveLocation(Graph::Vertex& vertex, const aron::data::DictPtr& locationData);
 
 
     template <class MemoryContainerT>
diff --git a/source/armarx/navigation/factories/GlobalPlannerFactory.cpp b/source/armarx/navigation/factories/GlobalPlannerFactory.cpp
index 04e752152bffe1316e1515ea8b91fddf0c547439..2e9944a1ffac8b2521b24339f1014ff22d5c9d2f 100644
--- a/source/armarx/navigation/factories/GlobalPlannerFactory.cpp
+++ b/source/armarx/navigation/factories/GlobalPlannerFactory.cpp
@@ -2,7 +2,8 @@
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/primitive/String.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/primitive/String.h>
 
 #include <armarx/navigation/core/constants.h>
 #include <armarx/navigation/global_planning/AStar.h>
@@ -12,7 +13,7 @@
 namespace armarx::navigation::fac
 {
     glob_plan::GlobalPlannerPtr
-    GlobalPlannerFactory::create(const aron::datanavigator::DictNavigatorPtr& params,
+    GlobalPlannerFactory::create(const aron::data::DictPtr& params,
                                  const core::Scene& ctx)
     {
         namespace layer = glob_plan;
@@ -24,13 +25,13 @@ namespace armarx::navigation::fac
 
         // algo name
         const auto algoName =
-            aron::datanavigator::StringNavigator::DynamicCast(params->getElement(core::NAME_KEY));
+            aron::data::String::DynamicCast(params->getElement(core::NAME_KEY));
         ARMARX_CHECK_NOT_NULL(algoName);
         const layer::Algorithms algo = layer::AlgorithmNames.from_name(algoName->getValue());
 
         // algo params
         const auto algoParams =
-            aron::datanavigator::DictNavigator::DynamicCast(params->getElement(core::PARAMS_KEY));
+            aron::data::Dict::DynamicCast(params->getElement(core::PARAMS_KEY));
         ARMARX_CHECK_NOT_NULL(algoParams);
 
         glob_plan::GlobalPlannerPtr globalPlanner;
diff --git a/source/armarx/navigation/factories/GlobalPlannerFactory.h b/source/armarx/navigation/factories/GlobalPlannerFactory.h
index 269d99923f021e664e00ae2ec54b7bdae5bf5990..4b366f82904c499e117fd59755776ecf87779962 100644
--- a/source/armarx/navigation/factories/GlobalPlannerFactory.h
+++ b/source/armarx/navigation/factories/GlobalPlannerFactory.h
@@ -22,8 +22,7 @@
 
 #pragma once
 
-// #include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/NavigatorFwd.h>
+#include <RobotAPI/libraries/aron/core/data/variant/forward_declarations.h>
 
 #include <armarx/navigation/core/fwd.h>
 #include <armarx/navigation/factories/fwd.h>
@@ -38,7 +37,7 @@ namespace armarx::navigation::fac
     {
     public:
         static glob_plan::GlobalPlannerPtr
-        create(const aron::datanavigator::DictNavigatorPtr& params, const core::Scene& ctx);
+        create(const aron::data::DictPtr& params, const core::Scene& ctx);
     };
 
 } // namespace armarx::navigation::fac
diff --git a/source/armarx/navigation/factories/LocalPlannerFactory.cpp b/source/armarx/navigation/factories/LocalPlannerFactory.cpp
index 95441621bcd858488e65c603593df57ca3242cce..e386f55d05ef1cb027667a5e63aeab33d5f87f0b 100644
--- a/source/armarx/navigation/factories/LocalPlannerFactory.cpp
+++ b/source/armarx/navigation/factories/LocalPlannerFactory.cpp
@@ -2,7 +2,8 @@
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/primitive/String.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/primitive/String.h>
 
 #include <armarx/navigation/core/constants.h>
 #include <armarx/navigation/local_planning/TimedElasticBands.h>
@@ -10,7 +11,7 @@
 namespace armarx::navigation::fac
 {
     loc_plan::LocalPlannerPtr
-    LocalPlannerFactory::create(const aron::datanavigator::DictNavigatorPtr& params,
+    LocalPlannerFactory::create(const aron::data::DictPtr& params,
                                 const core::Scene& ctx)
     {
         namespace layer = loc_plan;
@@ -22,13 +23,13 @@ namespace armarx::navigation::fac
 
         // algo name
         const auto algoName =
-            aron::datanavigator::StringNavigator::DynamicCast(params->getElement(core::NAME_KEY));
+            aron::data::String::DynamicCast(params->getElement(core::NAME_KEY));
         ARMARX_CHECK_NOT_NULL(algoName);
         const layer::Algorithms algo = layer::AlgorithmNames.from_name(algoName->getValue());
 
         // algo params
         const auto algoParams =
-            aron::datanavigator::DictNavigator::DynamicCast(params->getElement(core::PARAMS_KEY));
+            aron::data::Dict::DynamicCast(params->getElement(core::PARAMS_KEY));
         ARMARX_CHECK_NOT_NULL(algoParams);
 
         loc_plan::LocalPlannerPtr localPlanner;
diff --git a/source/armarx/navigation/factories/LocalPlannerFactory.h b/source/armarx/navigation/factories/LocalPlannerFactory.h
index 1d3d4b490ba3d815de606489ecbec633e1b52b8d..4e3b0e09aa6d349e580a70b515cf7f06ab46bfb8 100644
--- a/source/armarx/navigation/factories/LocalPlannerFactory.h
+++ b/source/armarx/navigation/factories/LocalPlannerFactory.h
@@ -22,8 +22,7 @@
 
 #pragma once
 
-// #include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/NavigatorFwd.h>
+#include <RobotAPI/libraries/aron/core/data/variant/forward_declarations.h>
 
 #include <armarx/navigation/core/fwd.h>
 #include <armarx/navigation/factories/fwd.h>
@@ -38,7 +37,7 @@ namespace armarx::navigation::fac
     class LocalPlannerFactory
     {
     public:
-        static loc_plan::LocalPlannerPtr create(const aron::datanavigator::DictNavigatorPtr& params,
+        static loc_plan::LocalPlannerPtr create(const aron::data::DictPtr& params,
                                                 const core::Scene& ctx);
 
     protected:
diff --git a/source/armarx/navigation/factories/NavigationStackFactory.cpp b/source/armarx/navigation/factories/NavigationStackFactory.cpp
index f394d9dbc9e10800a793826599c43bee7d8e4543..e6c90a5cf1373dad0b87c13f7e161b4974e5ba70 100644
--- a/source/armarx/navigation/factories/NavigationStackFactory.cpp
+++ b/source/armarx/navigation/factories/NavigationStackFactory.cpp
@@ -14,19 +14,19 @@
 namespace armarx::navigation::fac
 {
     server::NavigationStack
-    NavigationStackFactory::create(const aron::datanavigator::DictNavigatorPtr& params,
+    NavigationStackFactory::create(const aron::data::DictPtr& params,
                                    const core::Scene& ctx)
     {
-        using aron::datanavigator::DictNavigator;
+        using aron::data::Dict;
 
         const auto getElementOrNull =
-            [&params](const core::StackLayer& layer) -> DictNavigator::PointerType
+            [&params](const core::StackLayer& layer) -> Dict::PointerType
         {
             const std::string key = core::StackLayerNames.to_name(layer);
 
             if (params->hasElement(key))
             {
-                return DictNavigator::DynamicCast(params->getElement(key));
+                return Dict::DynamicCast(params->getElement(key));
             }
 
             ARMARX_INFO << "Skipping '" << key << "'";
@@ -48,9 +48,9 @@ namespace armarx::navigation::fac
     }
 
     server::NavigationStack
-    NavigationStackFactory::create(const aron::data::AronDictPtr& params, const core::Scene& ctx)
+    NavigationStackFactory::create(const aron::data::dto::DictPtr& params, const core::Scene& ctx)
     {
-        const auto dict = aron::datanavigator::DictNavigator::FromAronDictPtr(params);
+        const auto dict = aron::data::Dict::FromAronDictPtr(params);
         ARMARX_CHECK_NOT_NULL(dict);
         return create(dict, ctx);
     }
diff --git a/source/armarx/navigation/factories/NavigationStackFactory.h b/source/armarx/navigation/factories/NavigationStackFactory.h
index 7e99c67e9389a11d71f520d6c2be7edcb79a00da..f0ee4e1906391595e4fbdb22442e3ad6cdbb1a1d 100644
--- a/source/armarx/navigation/factories/NavigationStackFactory.h
+++ b/source/armarx/navigation/factories/NavigationStackFactory.h
@@ -24,8 +24,7 @@
 
 #include <armarx/navigation/server/NavigationStack.h>
 
-// #include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/NavigatorFwd.h>
+#include <RobotAPI/libraries/aron/core/data/variant/forward_declarations.h>
 
 #include <armarx/navigation/core/fwd.h>
 
@@ -38,10 +37,10 @@ namespace armarx::navigation::fac
     class NavigationStackFactory
     {
     public:
-        static server::NavigationStack create(const aron::datanavigator::DictNavigatorPtr& params,
+        static server::NavigationStack create(const aron::data::DictPtr& params,
                                               const core::Scene& ctx);
 
-        static server::NavigationStack create(const aron::data::AronDictPtr& params,
+        static server::NavigationStack create(const aron::data::dto::DictPtr& params,
                                               const core::Scene& ctx);
 
     protected:
diff --git a/source/armarx/navigation/factories/SafetyControllerFactory.cpp b/source/armarx/navigation/factories/SafetyControllerFactory.cpp
index d49bae34c339e49bd15729f98b8c9d6cbf0c91f1..8dec9fb3dc7eb6cbb2c80a8dc9f725c817e4c804 100644
--- a/source/armarx/navigation/factories/SafetyControllerFactory.cpp
+++ b/source/armarx/navigation/factories/SafetyControllerFactory.cpp
@@ -2,7 +2,8 @@
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/primitive/String.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/primitive/String.h>
 
 #include <armarx/navigation/core/constants.h>
 #include <armarx/navigation/safety_control/LaserBasedProximity.h>
@@ -12,7 +13,7 @@
 namespace armarx::navigation::fac
 {
     safe_ctrl::SafetyControllerPtr
-    SafetyControllerFactory::create(const aron::datanavigator::DictNavigatorPtr& params,
+    SafetyControllerFactory::create(const aron::data::DictPtr& params,
                                     const core::Scene& ctx)
     {
         namespace layer = safe_ctrl;
@@ -24,13 +25,13 @@ namespace armarx::navigation::fac
 
         // algo name
         const auto algoName =
-            aron::datanavigator::StringNavigator::DynamicCast(params->getElement(core::NAME_KEY));
+            aron::data::String::DynamicCast(params->getElement(core::NAME_KEY));
         ARMARX_CHECK_NOT_NULL(algoName);
         const layer::Algorithms algo = layer::AlgorithmNames.from_name(algoName->getValue());
 
         // algo params
         const auto algoParams =
-            aron::datanavigator::DictNavigator::DynamicCast(params->getElement(core::PARAMS_KEY));
+            aron::data::Dict::DynamicCast(params->getElement(core::PARAMS_KEY));
         ARMARX_CHECK_NOT_NULL(algoParams);
 
         safe_ctrl::SafetyControllerPtr controller;
diff --git a/source/armarx/navigation/factories/SafetyControllerFactory.h b/source/armarx/navigation/factories/SafetyControllerFactory.h
index a902c8c33f34e0a5323051f087b5fdc640e2e049..023a762416f59f31f7cd4b15f6a9ccc84856c295 100644
--- a/source/armarx/navigation/factories/SafetyControllerFactory.h
+++ b/source/armarx/navigation/factories/SafetyControllerFactory.h
@@ -22,8 +22,7 @@
 
 #pragma once
 
-// #include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/NavigatorFwd.h>
+#include <RobotAPI/libraries/aron/core/data/variant/forward_declarations.h>
 
 #include <armarx/navigation/core/fwd.h>
 #include <armarx/navigation/factories/fwd.h>
@@ -39,7 +38,7 @@ namespace armarx::navigation::fac
     {
     public:
         static safe_ctrl::SafetyControllerPtr
-        create(const aron::datanavigator::DictNavigatorPtr& params, const core::Scene& ctx);
+        create(const aron::data::DictPtr& params, const core::Scene& ctx);
 
     protected:
     private:
diff --git a/source/armarx/navigation/factories/TrajectoryControllerFactory.cpp b/source/armarx/navigation/factories/TrajectoryControllerFactory.cpp
index 68ecdd8a48fb98012f0c63757615229cddd8b113..c30fe546a39f7e4cbab26c25fb098dc65161c336 100644
--- a/source/armarx/navigation/factories/TrajectoryControllerFactory.cpp
+++ b/source/armarx/navigation/factories/TrajectoryControllerFactory.cpp
@@ -2,7 +2,7 @@
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/primitive/String.h>
+#include <RobotAPI/libraries/aron/core/data/variant/primitive/String.h>
 
 #include <armarx/navigation/core/constants.h>
 #include <armarx/navigation/trajectory_control/TrajectoryController.h>
@@ -12,7 +12,7 @@
 namespace armarx::navigation::fac
 {
     traj_ctrl::TrajectoryControllerPtr
-    TrajectoryControllerFactory::create(const aron::datanavigator::DictNavigatorPtr& params,
+    TrajectoryControllerFactory::create(const aron::data::DictPtr& params,
                                         const core::Scene& ctx)
     {
         namespace layer = traj_ctrl;
@@ -24,13 +24,13 @@ namespace armarx::navigation::fac
 
         // algo name
         const auto algoName =
-            aron::datanavigator::StringNavigator::DynamicCast(params->getElement(core::NAME_KEY));
+            aron::data::String::DynamicCast(params->getElement(core::NAME_KEY));
         ARMARX_CHECK_NOT_NULL(algoName);
         const layer::Algorithms algo = layer::AlgorithmNames.from_name(algoName->getValue());
 
         // algo params
         const auto algoParams =
-            aron::datanavigator::DictNavigator::DynamicCast(params->getElement(core::PARAMS_KEY));
+            aron::data::Dict::DynamicCast(params->getElement(core::PARAMS_KEY));
         ARMARX_CHECK_NOT_NULL(algoParams);
 
         traj_ctrl::TrajectoryControllerPtr controller;
diff --git a/source/armarx/navigation/factories/TrajectoryControllerFactory.h b/source/armarx/navigation/factories/TrajectoryControllerFactory.h
index 88acc3a7044ba358fb98593caec66ebe77d25179..eb603d5f44483d0ff9af2b820726eab3caa7f391 100644
--- a/source/armarx/navigation/factories/TrajectoryControllerFactory.h
+++ b/source/armarx/navigation/factories/TrajectoryControllerFactory.h
@@ -22,8 +22,8 @@
 
 #pragma once
 
-// #include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/NavigatorFwd.h>
+// #include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/forward_declarations.h>
 
 #include <armarx/navigation/core/fwd.h>
 #include <armarx/navigation/factories/fwd.h>
@@ -39,7 +39,7 @@ namespace armarx::navigation::fac
     {
     public:
         static traj_ctrl::TrajectoryControllerPtr
-        create(const aron::datanavigator::DictNavigatorPtr& params, const core::Scene& ctx);
+        create(const aron::data::DictPtr& params, const core::Scene& ctx);
 
     protected:
     private:
diff --git a/source/armarx/navigation/global_planning/AStar.cpp b/source/armarx/navigation/global_planning/AStar.cpp
index 267f0e5905bad45ad5dc96a0e418c50f5f98e0c4..9180d28e48428d7ed6ec526ae95626925b1556ef 100644
--- a/source/armarx/navigation/global_planning/AStar.cpp
+++ b/source/armarx/navigation/global_planning/AStar.cpp
@@ -11,8 +11,8 @@
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 #include <ArmarXCore/core/logging/Logging.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/primitive/String.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/primitive/String.h>
 
 #include <armarx/navigation/algorithms/astar/AStarPlanner.h>
 #include <armarx/navigation/algorithms/smoothing/ChainApproximation.h>
@@ -38,7 +38,7 @@ namespace armarx::navigation::glob_plan
         return Algorithms::AStar;
     }
 
-    aron::datanavigator::DictNavigatorPtr
+    aron::data::DictPtr
     AStarParams::toAron() const
     {
         arondto::AStarParams dto;
@@ -50,7 +50,7 @@ namespace armarx::navigation::glob_plan
     }
 
     AStarParams
-    AStarParams::FromAron(const aron::datanavigator::DictNavigatorPtr& dict)
+    AStarParams::FromAron(const aron::data::DictPtr& dict)
     {
         ARMARX_CHECK_NOT_NULL(dict);
 
diff --git a/source/armarx/navigation/global_planning/AStar.h b/source/armarx/navigation/global_planning/AStar.h
index 7319216f56c5bde6aa64996c693e33ed9c76e2df..326284d8abad2ed94e89c1d64e218a16a5b1f56a 100644
--- a/source/armarx/navigation/global_planning/AStar.h
+++ b/source/armarx/navigation/global_planning/AStar.h
@@ -38,9 +38,9 @@ namespace armarx::navigation::glob_plan
         float resampleDistance{500};
 
         Algorithms algorithm() const override;
-        aron::datanavigator::DictNavigatorPtr toAron() const override;
+        aron::data::DictPtr toAron() const override;
 
-        static AStarParams FromAron(const aron::datanavigator::DictNavigatorPtr& dict);
+        static AStarParams FromAron(const aron::data::DictPtr& dict);
     };
 
     /**
diff --git a/source/armarx/navigation/global_planning/GlobalPlanner.cpp b/source/armarx/navigation/global_planning/GlobalPlanner.cpp
index ea7c6745877ec7c10a061f6ae876412b6af20ed3..92d458986ef0e25ff88613f8d6e59f03a782f260 100644
--- a/source/armarx/navigation/global_planning/GlobalPlanner.cpp
+++ b/source/armarx/navigation/global_planning/GlobalPlanner.cpp
@@ -1,7 +1,5 @@
 #include "GlobalPlanner.h"
 
-#include <RobotAPI/libraries/aron/core/navigator/data/primitive/String.h>
-
 #include <armarx/navigation/core/constants.h>
 #include <armarx/navigation/core/types.h>
 
diff --git a/source/armarx/navigation/global_planning/GlobalPlanner.h b/source/armarx/navigation/global_planning/GlobalPlanner.h
index 4a68a89d7fbf87978ca3754b4eccd3ef3c78db86..8a703bd3079c844ee9dcad99d9ba0603f8836089 100644
--- a/source/armarx/navigation/global_planning/GlobalPlanner.h
+++ b/source/armarx/navigation/global_planning/GlobalPlanner.h
@@ -24,7 +24,7 @@
 
 #include <VirtualRobot/VirtualRobot.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include <armarx/navigation/core/DynamicScene.h>
 #include <armarx/navigation/core/StaticScene.h>
@@ -52,7 +52,7 @@ namespace armarx::navigation::glob_plan
         virtual ~GlobalPlannerParams() = default;
 
         virtual Algorithms algorithm() const = 0;
-        virtual aron::datanavigator::DictNavigatorPtr toAron() const = 0;
+        virtual aron::data::DictPtr toAron() const = 0;
     };
 
     /**
diff --git a/source/armarx/navigation/global_planning/Point2Point.cpp b/source/armarx/navigation/global_planning/Point2Point.cpp
index 91e86a7cc163d23767139228a11a551461604b6d..53a66810ede1b473dec6b9d98cd564dbf57d5d5f 100644
--- a/source/armarx/navigation/global_planning/Point2Point.cpp
+++ b/source/armarx/navigation/global_planning/Point2Point.cpp
@@ -25,7 +25,7 @@ namespace armarx::navigation::glob_plan
         return Algorithms::Point2Point;
     }
 
-    aron::datanavigator::DictNavigatorPtr
+    aron::data::DictPtr
     Point2PointParams::toAron() const
     {
         arondto::Point2PointParams dto;
@@ -37,7 +37,7 @@ namespace armarx::navigation::glob_plan
     }
 
     Point2PointParams
-    Point2PointParams::FromAron(const aron::datanavigator::DictNavigatorPtr& dict)
+    Point2PointParams::FromAron(const aron::data::DictPtr& dict)
     {
         ARMARX_CHECK_NOT_NULL(dict);
 
diff --git a/source/armarx/navigation/global_planning/Point2Point.h b/source/armarx/navigation/global_planning/Point2Point.h
index d505d1e94158c2b0dfc44a9a070ddd8190313d39..0477d96fe50e5644f0fa40f9f2edfccbf2cca4dd 100644
--- a/source/armarx/navigation/global_planning/Point2Point.h
+++ b/source/armarx/navigation/global_planning/Point2Point.h
@@ -39,9 +39,9 @@ namespace armarx::navigation::glob_plan
         float velocity{400};
 
         Algorithms algorithm() const override;
-        aron::datanavigator::DictNavigatorPtr toAron() const override;
+        aron::data::DictPtr toAron() const override;
 
-        static Point2PointParams FromAron(const aron::datanavigator::DictNavigatorPtr& dict);
+        static Point2PointParams FromAron(const aron::data::DictPtr& dict);
     };
 
     /**
diff --git a/source/armarx/navigation/local_planning/LocalPlanner.h b/source/armarx/navigation/local_planning/LocalPlanner.h
index aed7fb00dd840618191cd17022955db0048b6eec..5e7d06bf7ea787aa88e97d517e907b099554a012 100644
--- a/source/armarx/navigation/local_planning/LocalPlanner.h
+++ b/source/armarx/navigation/local_planning/LocalPlanner.h
@@ -26,7 +26,7 @@
 
 #include <VirtualRobot/VirtualRobot.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include "core.h"
 #include <armarx/navigation/core/DynamicScene.h>
@@ -46,7 +46,7 @@ namespace armarx::navigation::loc_plan
         virtual ~LocalPlannerParams() = default;
 
         virtual Algorithms algorithm() const = 0;
-        virtual aron::datanavigator::DictNavigatorPtr toAron() const = 0;
+        virtual aron::data::DictPtr toAron() const = 0;
     };
 
     class LocalPlanner
diff --git a/source/armarx/navigation/local_planning/TimedElasticBands.cpp b/source/armarx/navigation/local_planning/TimedElasticBands.cpp
index 99142b1e403a46c8df7aa4ab57a1607989b27a0a..b069cba6334265022ee887d9ce41f0cd0be401d1 100644
--- a/source/armarx/navigation/local_planning/TimedElasticBands.cpp
+++ b/source/armarx/navigation/local_planning/TimedElasticBands.cpp
@@ -14,14 +14,14 @@ namespace armarx::navigation::loc_plan
         return Algorithms::TimedElasticBands;
     }
 
-    aron::datanavigator::DictNavigatorPtr
+    aron::data::DictPtr
     TimedElasticBandsParams::toAron() const
     {
         return nullptr; // TODO implement
     }
 
     TimedElasticBandsParams
-    TimedElasticBandsParams::FromAron(const aron::datanavigator::DictNavigatorPtr& dict)
+    TimedElasticBandsParams::FromAron(const aron::data::DictPtr& dict)
     {
         return TimedElasticBandsParams(); // TODO implement
     }
diff --git a/source/armarx/navigation/local_planning/TimedElasticBands.h b/source/armarx/navigation/local_planning/TimedElasticBands.h
index 90034f030ed9ca07a2417ec6515455d9b5df54cd..e43747cdaca8c715d021a61ad8d534de7714d677 100644
--- a/source/armarx/navigation/local_planning/TimedElasticBands.h
+++ b/source/armarx/navigation/local_planning/TimedElasticBands.h
@@ -22,7 +22,7 @@
 
 #pragma once
 
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include <armarx/navigation/local_planning/LocalPlanner.h>
 #include <armarx/navigation/local_planning/core.h>
@@ -35,8 +35,8 @@ namespace armarx::navigation::loc_plan
         bool includeStartPose{false};
 
         Algorithms algorithm() const override;
-        aron::datanavigator::DictNavigatorPtr toAron() const override;
-        static TimedElasticBandsParams FromAron(const aron::datanavigator::DictNavigatorPtr& dict);
+        aron::data::DictPtr toAron() const override;
+        static TimedElasticBandsParams FromAron(const aron::data::DictPtr& dict);
     };
 
     class TimedElasticBands : virtual public LocalPlanner
diff --git a/source/armarx/navigation/memory/client/events/Writer.cpp b/source/armarx/navigation/memory/client/events/Writer.cpp
index 08508055a1710618bd1bcb5e5bb524e639eefe66..1858dd5d443d58acbd58d14e737916e0c3b377de 100644
--- a/source/armarx/navigation/memory/client/events/Writer.cpp
+++ b/source/armarx/navigation/memory/client/events/Writer.cpp
@@ -3,7 +3,7 @@
 #include <type_traits>
 
 #include <RobotAPI/libraries/aron/common/aron_conversions/core.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/primitive/String.h>
+#include <RobotAPI/libraries/aron/core/data/variant/primitive/String.h>
 
 #include <armarx/navigation/core/aron/Events.aron.generated.h>
 #include <armarx/navigation/core/aron_conversions.h>
@@ -114,9 +114,8 @@ namespace armarx::navigation::mem::client::events
 
         // FIXME auto dto = core::toAron(event);
 
-        aron::datanavigator::DictNavigatorPtr element(new aron::datanavigator::DictNavigator);
-        element->addElement("event",
-                            std::make_shared<aron::datanavigator::StringNavigator>(eventName));
+        aron::data::DictPtr element(new aron::data::Dict);
+        element->addElement("event", std::make_shared<aron::data::String>(eventName));
         // FIXME element->addElement("data", dto.toAron());
 
         update.instancesData = {element};
diff --git a/source/armarx/navigation/memory/client/parameterization/Writer.cpp b/source/armarx/navigation/memory/client/parameterization/Writer.cpp
index 64fff8641baa9a2c664f684be3a25d4246f4aa28..d40f300f28d8cc787cc487d736e2f3049e11a8c0 100644
--- a/source/armarx/navigation/memory/client/parameterization/Writer.cpp
+++ b/source/armarx/navigation/memory/client/parameterization/Writer.cpp
@@ -1,6 +1,6 @@
 #include "Writer.h"
 
-#include <RobotAPI/libraries/aron/core/navigator/data/AllNavigators.h>
+#include <RobotAPI/libraries/aron/core/data/variant/All.h>
 
 #include <armarx/navigation/core/constants.h>
 
@@ -9,7 +9,7 @@ namespace armarx::navigation::mem::client::param
 {
     bool
     Writer::store(
-        const std::unordered_map<core::StackLayer, aron::datanavigator::DictNavigatorPtr>& stack,
+        const std::unordered_map<core::StackLayer, aron::data::DictPtr>& stack,
         const std::string& clientID,
         const core::TimestampUs& timestamp)
     {
diff --git a/source/armarx/navigation/memory/client/parameterization/Writer.h b/source/armarx/navigation/memory/client/parameterization/Writer.h
index aac8fea7640efc921937b639cdb518b339272591..d48c3e807aa8b1502e3a5669f548982b6c1cdd67 100644
--- a/source/armarx/navigation/memory/client/parameterization/Writer.h
+++ b/source/armarx/navigation/memory/client/parameterization/Writer.h
@@ -22,7 +22,7 @@
 #pragma once
 
 #include <RobotAPI/libraries/armem/client/util/SimpleWriterBase.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/forward_declarations.h>
+#include <RobotAPI/libraries/aron/core/data/variant/forward_declarations.h>
 
 #include <armarx/navigation/core/constants.h>
 #include <armarx/navigation/core/types.h>
@@ -37,7 +37,7 @@ namespace armarx::navigation::mem::client::param
 
 
         bool store(const std::unordered_map<core::StackLayer,
-                                            aron::datanavigator::DictNavigatorPtr>& stack,
+                                            aron::data::DictPtr>& stack,
                    const std::string& clientID,
                    const core::TimestampUs& timestamp);
 
diff --git a/source/armarx/navigation/safety_control/LaserBasedProximity.cpp b/source/armarx/navigation/safety_control/LaserBasedProximity.cpp
index f7e77048211d350e29dd4620fcfca8b42530e27d..8320076718f9327ec8b1ccd4ace8fa3bcc20a52a 100644
--- a/source/armarx/navigation/safety_control/LaserBasedProximity.cpp
+++ b/source/armarx/navigation/safety_control/LaserBasedProximity.cpp
@@ -11,14 +11,14 @@ namespace armarx::navigation::safe_ctrl
         return Algorithms::LaserBasedProximity;
     }
 
-    aron::datanavigator::DictNavigatorPtr
+    aron::data::DictPtr
     LaserBasedProximityParams::toAron() const
     {
         return nullptr; // TODO implement
     }
 
     LaserBasedProximityParams
-    LaserBasedProximityParams::FromAron(const aron::datanavigator::DictNavigatorPtr& dict)
+    LaserBasedProximityParams::FromAron(const aron::data::DictPtr& dict)
     {
         return LaserBasedProximityParams(); // TODO implement
     }
diff --git a/source/armarx/navigation/safety_control/LaserBasedProximity.h b/source/armarx/navigation/safety_control/LaserBasedProximity.h
index a63de66c93c425cd289277b32d8e813e692efc98..94108ade932d7be0c1e5eeea79b2a9ec1eb9b3d9 100644
--- a/source/armarx/navigation/safety_control/LaserBasedProximity.h
+++ b/source/armarx/navigation/safety_control/LaserBasedProximity.h
@@ -32,9 +32,9 @@ namespace armarx::navigation::safe_ctrl
         bool includeStartPose{false};
 
         Algorithms algorithm() const override;
-        aron::datanavigator::DictNavigatorPtr toAron() const override;
+        aron::data::DictPtr toAron() const override;
         static LaserBasedProximityParams
-        FromAron(const aron::datanavigator::DictNavigatorPtr& dict);
+        FromAron(const aron::data::DictPtr& dict);
     };
 
     class LaserBasedProximity : virtual public SafetyController
diff --git a/source/armarx/navigation/safety_control/SafetyController.h b/source/armarx/navigation/safety_control/SafetyController.h
index 8a5a3c661e6bd8448b0e0b9725417d8489b72a8e..ccba53cbf0405a7d51efae576bb77b12df08f6f1 100644
--- a/source/armarx/navigation/safety_control/SafetyController.h
+++ b/source/armarx/navigation/safety_control/SafetyController.h
@@ -26,7 +26,7 @@
 
 #include <VirtualRobot/VirtualRobot.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include "core.h"
 #include <armarx/navigation/core/DynamicScene.h>
@@ -46,7 +46,7 @@ namespace armarx::navigation::safe_ctrl
         virtual ~SafetyControllerParams() = default;
 
         virtual Algorithms algorithm() const = 0;
-        virtual aron::datanavigator::DictNavigatorPtr toAron() const = 0;
+        virtual aron::data::DictPtr toAron() const = 0;
     };
 
     class SafetyController
diff --git a/source/armarx/navigation/server/parameterization/MemoryParameterizationService.cpp b/source/armarx/navigation/server/parameterization/MemoryParameterizationService.cpp
index b0ea409113e6b5f2bad19ac89b952af36a1468b8..94bbd51bbab1b4c2beb8d6f1234f45b9dab8e64d 100644
--- a/source/armarx/navigation/server/parameterization/MemoryParameterizationService.cpp
+++ b/source/armarx/navigation/server/parameterization/MemoryParameterizationService.cpp
@@ -4,29 +4,29 @@
 
 #include <ArmarXCore/core/exceptions/local/ExpressionException.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include <armarx/navigation/core/constants.h>
 
 namespace armarx::navigation::server
 {
     bool
-    MemoryParameterizationService::store(const aron::datanavigator::DictNavigatorPtr& params,
+    MemoryParameterizationService::store(const aron::data::DictPtr& params,
                                          const std::string& clientId,
                                          const core::TimestampUs& timestamp)
     {
         ARMARX_CHECK_NOT_NULL(writer);
 
-        using aron::datanavigator::DictNavigator;
+        using aron::data::Dict;
 
         const auto getElementOrNull =
-            [&params](const core::StackLayer& layer) -> DictNavigator::PointerType
+            [&params](const core::StackLayer& layer) -> Dict::PointerType
         {
             const std::string key = core::StackLayerNames.to_name(layer);
 
             if (params->hasElement(key))
             {
-                return DictNavigator::DynamicCast(params->getElement(key));
+                return Dict::DynamicCast(params->getElement(key));
             }
 
             ARMARX_INFO << "Skipping '" << key << "'";
@@ -35,7 +35,7 @@ namespace armarx::navigation::server
         };
 
         // convert to more structured representation
-        std::unordered_map<core::StackLayer, DictNavigator::PointerType> cfgs;
+        std::unordered_map<core::StackLayer, Dict::PointerType> cfgs;
 
         if (const auto globalPlannerCfg = getElementOrNull(core::StackLayer::GlobalPlanner))
         {
@@ -62,11 +62,11 @@ namespace armarx::navigation::server
     }
 
     bool
-    MemoryParameterizationService::store(const aron::data::AronDictPtr& params,
+    MemoryParameterizationService::store(const aron::data::dto::DictPtr& params,
                                          const std::string& clientId,
                                          const core::TimestampUs& timestamp)
     {
-        const auto dict = aron::datanavigator::DictNavigator::FromAronDictPtr(params);
+        const auto dict = aron::data::Dict::FromAronDictPtr(params);
         return store(dict, clientId, timestamp);
     }
 
diff --git a/source/armarx/navigation/server/parameterization/MemoryParameterizationService.h b/source/armarx/navigation/server/parameterization/MemoryParameterizationService.h
index 671224b4c6f49426510c44ae1e31e8715d89c7d2..478b456ae964f8b9cafa27195b42b0e524a79b9f 100644
--- a/source/armarx/navigation/server/parameterization/MemoryParameterizationService.h
+++ b/source/armarx/navigation/server/parameterization/MemoryParameterizationService.h
@@ -22,7 +22,7 @@
 #pragma once
 
 #include <RobotAPI/libraries/armem/core/Time.h>
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include <armarx/navigation/core/types.h>
 #include <armarx/navigation/memory/client/parameterization/Reader.h>
@@ -39,11 +39,11 @@ namespace armarx::navigation::server
         MemoryParameterizationService(mem::client::param::Reader* reader,
                                       mem::client::param::Writer* writer);
 
-        bool store(const aron::datanavigator::DictNavigatorPtr& params,
+        bool store(const aron::data::DictPtr& params,
                    const std::string& clientId,
                    const core::TimestampUs& timestamp);
 
-        bool store(const aron::data::AronDictPtr& params,
+        bool store(const aron::data::dto::DictPtr& params,
                    const std::string& clientId,
                    const core::TimestampUs& timestamp);
 
diff --git a/source/armarx/navigation/trajectory_control/TrajectoryController.h b/source/armarx/navigation/trajectory_control/TrajectoryController.h
index a6b3ddd601ec7b048360bf75203fb8fd1e61e848..f13e168ade4b91fb653e123c9cf4b2b556ecc87e 100644
--- a/source/armarx/navigation/trajectory_control/TrajectoryController.h
+++ b/source/armarx/navigation/trajectory_control/TrajectoryController.h
@@ -28,7 +28,7 @@
 
 #include <VirtualRobot/VirtualRobot.h>
 
-#include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h>
+#include <RobotAPI/libraries/aron/core/data/variant/container/Dict.h>
 
 #include "core.h"
 #include <armarx/navigation/core/DynamicScene.h>
@@ -55,7 +55,7 @@ namespace armarx::navigation::traj_ctrl
         virtual ~TrajectoryControllerParams() = default;
 
         virtual Algorithms algorithm() const = 0;
-        virtual aron::datanavigator::DictNavigatorPtr toAron() const = 0;
+        virtual aron::data::DictPtr toAron() const = 0;
     };
 
     class TrajectoryController
diff --git a/source/armarx/navigation/trajectory_control/TrajectoryFollowingController.cpp b/source/armarx/navigation/trajectory_control/TrajectoryFollowingController.cpp
index 97235f9a6c4a9bd35847a2481a66adb782da7c31..0fef75df5538cf20e4ce7849ac3c79c6f4ea3ba1 100644
--- a/source/armarx/navigation/trajectory_control/TrajectoryFollowingController.cpp
+++ b/source/armarx/navigation/trajectory_control/TrajectoryFollowingController.cpp
@@ -27,7 +27,7 @@ namespace armarx::navigation::traj_ctrl
         return Algorithms::TrajectoryFollowingController;
     }
 
-    aron::datanavigator::DictNavigatorPtr
+    aron::data::DictPtr
     TrajectoryFollowingControllerParams::toAron() const
     {
         arondto::TrajectoryFollowingControllerParams dto;
@@ -39,7 +39,7 @@ namespace armarx::navigation::traj_ctrl
     }
 
     TrajectoryFollowingControllerParams
-    TrajectoryFollowingControllerParams::FromAron(const aron::datanavigator::DictNavigatorPtr& dict)
+    TrajectoryFollowingControllerParams::FromAron(const aron::data::DictPtr& dict)
     {
         arondto::TrajectoryFollowingControllerParams dto;
         dto.fromAron(dict);
diff --git a/source/armarx/navigation/trajectory_control/TrajectoryFollowingController.h b/source/armarx/navigation/trajectory_control/TrajectoryFollowingController.h
index 561d1fa3fd6711be5ab92fb76bcd10dbed87cb45..064de2fc8b7b043bea6658e6ee4f6d3f96beedc8 100644
--- a/source/armarx/navigation/trajectory_control/TrajectoryFollowingController.h
+++ b/source/armarx/navigation/trajectory_control/TrajectoryFollowingController.h
@@ -38,10 +38,10 @@ namespace armarx::navigation::traj_ctrl
         core::PIDParams pidOri;
 
         Algorithms algorithm() const override;
-        aron::datanavigator::DictNavigatorPtr toAron() const override;
+        aron::data::DictPtr toAron() const override;
 
         static TrajectoryFollowingControllerParams
-        FromAron(const aron::datanavigator::DictNavigatorPtr& dict);
+        FromAron(const aron::data::DictPtr& dict);
     };
 
     class TrajectoryFollowingController : virtual public TrajectoryController
diff --git a/source/armarx/navigation/trajectory_control/WaypointController.cpp b/source/armarx/navigation/trajectory_control/WaypointController.cpp
index 5ff9ab88a6b150df031a81f78c8468135714dace..c08ff5b97d8e25f5fb5e02934662c0b9436de1b1 100644
--- a/source/armarx/navigation/trajectory_control/WaypointController.cpp
+++ b/source/armarx/navigation/trajectory_control/WaypointController.cpp
@@ -15,7 +15,7 @@ namespace armarx::navigation::traj_ctrl
         return Algorithms::WaypointController;
     }
 
-    aron::datanavigator::DictNavigatorPtr
+    aron::data::DictPtr
     WaypointControllerParams::toAron() const
     {
         arondto::WaypointControllerParams dto;
@@ -27,7 +27,7 @@ namespace armarx::navigation::traj_ctrl
     }
 
     WaypointControllerParams
-    WaypointControllerParams::FromAron(const aron::datanavigator::DictNavigatorPtr& dict)
+    WaypointControllerParams::FromAron(const aron::data::DictPtr& dict)
     {
         arondto::WaypointControllerParams dto;
         dto.fromAron(dict);
diff --git a/source/armarx/navigation/trajectory_control/WaypointController.h b/source/armarx/navigation/trajectory_control/WaypointController.h
index 7171be2c9ca9e3ad3dee07ed1bfa73b9477210f1..13133e67fbd0a5001fae2451f3fdad0463d34cc4 100644
--- a/source/armarx/navigation/trajectory_control/WaypointController.h
+++ b/source/armarx/navigation/trajectory_control/WaypointController.h
@@ -30,8 +30,8 @@ namespace armarx::navigation::traj_ctrl
     struct WaypointControllerParams : public TrajectoryControllerParams
     {
         Algorithms algorithm() const override;
-        aron::datanavigator::DictNavigatorPtr toAron() const override;
-        static WaypointControllerParams FromAron(const aron::datanavigator::DictNavigatorPtr& dict);
+        aron::data::DictPtr toAron() const override;
+        static WaypointControllerParams FromAron(const aron::data::DictPtr& dict);
     };
 
     class WaypointController : virtual public TrajectoryController