diff --git a/source/RobotAPI/libraries/armem_vision/types.h b/source/RobotAPI/libraries/armem_vision/types.h
index 828e40fb3c14cd0e1a4934fc80c325203a4b16de..dd975e9b1e6e76484c3077bebf9dc99c9f3a8d85 100644
--- a/source/RobotAPI/libraries/armem_vision/types.h
+++ b/source/RobotAPI/libraries/armem_vision/types.h
@@ -23,8 +23,8 @@
 
 #include <vector>
 
-#include <RobotAPI/libraries/armem/core/Time.h>
 #include <RobotAPI/interface/units/LaserScannerUnit.h>
+#include <RobotAPI/libraries/armem/core/Time.h>
 
 namespace armarx::armem
 {
@@ -42,7 +42,7 @@ namespace armarx::armem
         LaserScan data;
     };
 
-
+    // template<typename _ValueT = float>
     struct OccupancyGrid
     {
         float resolution;
@@ -50,8 +50,12 @@ namespace armarx::armem
         std::string frame;
         Eigen::Affine3f pose;
 
-        using Grid = std::vector<std::vector<float>>;
+        // using ValueType = _ValueT;
+        using CellType = float;
+        using Grid     = Eigen::Array<CellType, Eigen::Dynamic, Eigen::Dynamic>;
+
         Grid grid;
     };
 
-}  // namespace armarx::armem
+
+} // namespace armarx::armem