diff --git a/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.cpp b/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.cpp
index 0ed94c664655cbb4668ef4611a843e94fb1e1420..97942372a9c6be2667ff6639c13779fc734e933a 100644
--- a/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.cpp
+++ b/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.cpp
@@ -239,4 +239,5 @@ case type::e##upperType: \
     {
         return 0;
     }
-}
+
+}  // namespace armarx::aron::datanavigator
diff --git a/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.h b/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.h
index 60d8361038c5d0aeba9f9d902f038dfd0386a96f..5e447b102d889f2ba91d95e23a60a89028cf1ff4 100644
--- a/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.h
+++ b/source/RobotAPI/libraries/aron/core/navigator/data/complex/NDArray.h
@@ -24,16 +24,22 @@
 #pragma once
 
 // STD/STL
+#include <cstddef>
+#include <functional>
 #include <memory>
 #include <map>
+#include <numeric>
+#include <vector>
 
 // ArmarX
+#include <ArmarXCore/core/exceptions/local/ExpressionException.h>
+
 #include <RobotAPI/libraries/aron/core/navigator/data/Navigator.h>
 
 namespace armarx::aron::datanavigator
 {
     class NDArrayNavigator;
-    typedef std::shared_ptr<NDArrayNavigator> NDArrayNavigatorPtr;
+    using NDArrayNavigatorPtr = std::shared_ptr<NDArrayNavigator>;
 
     class NDArrayNavigator :
         virtual public Navigator
@@ -41,7 +47,6 @@ namespace armarx::aron::datanavigator
     public:
         using PointerType = NDArrayNavigatorPtr;
 
-    public:
         // constructors
         NDArrayNavigator(const Path& path = Path());
         NDArrayNavigator(const data::AronNDArrayPtr&, const Path& path = Path());
@@ -63,11 +68,31 @@ namespace armarx::aron::datanavigator
         /// Return dimensions in a readable string such as "(2, 3, 4)".
         static std::string DimensionsToString(const std::vector<int>& dimensions);
 
+        // TODO(fabian.reister): move this to VectorConverter?
+        template<typename T>
+        static NDArrayNavigatorPtr FromVector(const std::vector<T>& data)
+        {
+            NDArrayNavigatorPtr ndArr(new NDArrayNavigator);
+
+            ndArr->setDimensions({static_cast<int>(data.size()), sizeof(T)});
+            ndArr->setData(data);
+
+            return ndArr;
+        }
+
 
         // public member functions
         unsigned char* getData() const;
         void setData(unsigned int, const unsigned char*);
 
+        // TODO(fabian.reister): move this to VectorConverter?
+        template<typename T>
+        void setData(const std::vector<T>& data)
+        {
+            using E = typename decltype(aron->data)::value_type;
+            setData(sizeof(T) * data.size(), reinterpret_cast < const E* >(data.data()));
+        }
+
         std::vector<int> getDimensions() const;
         void setDimensions(const std::vector<int>&);
         void addDimension(int);