diff --git a/src/TNL/Containers/CMakeLists.txt b/src/TNL/Containers/CMakeLists.txt
index 5e5422f128849da5ecf40de331df85577a1f6e8e..83991f2456b97146284701ab82d5a8927b3e9ab5 100644
--- a/src/TNL/Containers/CMakeLists.txt
+++ b/src/TNL/Containers/CMakeLists.txt
@@ -1,4 +1,5 @@
 ADD_SUBDIRECTORY( Algorithms )
+ADD_SUBDIRECTORY( Multimaps )
 
 set( headers Array.h
              Array_impl.h
@@ -15,10 +16,10 @@ set( headers Array.h
              MultiArray1D_impl.h
              MultiArray2D_impl.h
              MultiArray3D_impl.h
-             MultiArray4D_impl.h             
+             MultiArray4D_impl.h
              SharedArray.h
              SharedArray_impl.h
-             StaticArray.h 
+             StaticArray.h
              StaticArray_impl.h
              StaticArray1D_impl.h
              StaticArray2D_impl.h
@@ -32,23 +33,23 @@ set( headers Array.h
              MultiVector4D_impl.h
              SharedVector.h
              SharedVector_impl.h
-             StaticVector.h 
+             StaticVector.h
              StaticVector_impl.h
              StaticVector1D_impl.h
              StaticVector2D_impl.h
              StaticVector3D_impl.h  )
 
 SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/TNL/Containers )
-set( common_SOURCES     
+set( common_SOURCES
      ${CURRENT_DIR}/SharedArray_impl.cpp
      ${CURRENT_DIR}/MultiArray_impl.cpp
      ${CURRENT_DIR}/Array_impl.cpp
-     ${CURRENT_DIR}/StaticArray_impl.cpp 
+     ${CURRENT_DIR}/StaticArray_impl.cpp
      ${CURRENT_DIR}/MultiVector_impl.cpp
      ${CURRENT_DIR}/SharedVector_impl.cpp
      ${CURRENT_DIR}/Vector_impl.cpp
      ${CURRENT_DIR}/StaticVector_impl.cpp
-)       
+)
 
 IF( BUILD_CUDA )
    set( tnl_containers_CUDA__SOURCES
@@ -58,12 +59,12 @@ IF( BUILD_CUDA )
         ${CURRENT_DIR}/MultiArray_impl.cu
         ${CURRENT_DIR}/StaticArray_impl.cu
         ${CURRENT_DIR}/Vector_impl.cu
-        ${CURRENT_DIR}/StaticVector_impl.cu 
+        ${CURRENT_DIR}/StaticVector_impl.cu
         PARENT_SCOPE )
-ENDIF()    
+ENDIF()
 
-set( tnl_containers_SOURCES     
+set( tnl_containers_SOURCES
      ${common_SOURCES}
      PARENT_SCOPE )
-                   
+
 INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Containers )
diff --git a/src/TNL/Experimental/Multimaps/CMakeLists.txt b/src/TNL/Containers/Multimaps/CMakeLists.txt
similarity index 93%
rename from src/TNL/Experimental/Multimaps/CMakeLists.txt
rename to src/TNL/Containers/Multimaps/CMakeLists.txt
index c9fcff297fca0cab41ffa64e349668c8911be380..921c735f7bb71c2aca64027f0b70aecde34cf7c6 100644
--- a/src/TNL/Experimental/Multimaps/CMakeLists.txt
+++ b/src/TNL/Containers/Multimaps/CMakeLists.txt
@@ -8,4 +8,4 @@ SET( headers EllpackIndexMultimap.h
              StaticEllpackIndexMultimapValues_impl.h
              MultimapPermutationApplier.h )
 
-INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Experimental/Multimaps )
+INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Containers/Multimaps )
diff --git a/src/TNL/Experimental/Multimaps/EllpackIndexMultimap.h b/src/TNL/Containers/Multimaps/EllpackIndexMultimap.h
similarity index 96%
rename from src/TNL/Experimental/Multimaps/EllpackIndexMultimap.h
rename to src/TNL/Containers/Multimaps/EllpackIndexMultimap.h
index a1ff4f3c5a3b33c9ec7521ccc0a302335898c0d9..3cc3b365969fceef76cf23e197d522c12ea9eef2 100644
--- a/src/TNL/Experimental/Multimaps/EllpackIndexMultimap.h
+++ b/src/TNL/Containers/Multimaps/EllpackIndexMultimap.h
@@ -11,7 +11,7 @@
 #pragma once
 
 #include <TNL/Containers/Vector.h>
-#include <TNL/Experimental/Multimaps/EllpackIndexMultimapValues.h>
+#include <TNL/Containers/Multimaps/EllpackIndexMultimapValues.h>
 
 namespace TNL {
 
@@ -107,5 +107,5 @@ std::ostream& operator << ( std::ostream& str, const EllpackIndexMultimap< Index
 
 } // namespace TNL
 
-#include <TNL/Experimental/Multimaps/EllpackIndexMultimap_impl.h>
+#include <TNL/Containers/Multimaps/EllpackIndexMultimap_impl.h>
 
diff --git a/src/TNL/Experimental/Multimaps/EllpackIndexMultimapValues.h b/src/TNL/Containers/Multimaps/EllpackIndexMultimapValues.h
similarity index 98%
rename from src/TNL/Experimental/Multimaps/EllpackIndexMultimapValues.h
rename to src/TNL/Containers/Multimaps/EllpackIndexMultimapValues.h
index ae1552f8119a82a48e7de2435ee0ce70f5a09f05..87364c5f79d6b3ffcbbfe744b72cd53a0ab17dbd 100644
--- a/src/TNL/Experimental/Multimaps/EllpackIndexMultimapValues.h
+++ b/src/TNL/Containers/Multimaps/EllpackIndexMultimapValues.h
@@ -114,5 +114,5 @@ std::ostream& operator << ( std::ostream& str, const EllpackIndexMultimapValues<
 
 } // namespace TNL
 
-#include <TNL/Experimental/Multimaps/EllpackIndexMultimapValues_impl.h>
+#include <TNL/Containers/Multimaps/EllpackIndexMultimapValues_impl.h>
 
diff --git a/src/TNL/Experimental/Multimaps/EllpackIndexMultimapValues_impl.h b/src/TNL/Containers/Multimaps/EllpackIndexMultimapValues_impl.h
similarity index 100%
rename from src/TNL/Experimental/Multimaps/EllpackIndexMultimapValues_impl.h
rename to src/TNL/Containers/Multimaps/EllpackIndexMultimapValues_impl.h
diff --git a/src/TNL/Experimental/Multimaps/EllpackIndexMultimap_impl.h b/src/TNL/Containers/Multimaps/EllpackIndexMultimap_impl.h
similarity index 99%
rename from src/TNL/Experimental/Multimaps/EllpackIndexMultimap_impl.h
rename to src/TNL/Containers/Multimaps/EllpackIndexMultimap_impl.h
index f73274c6bf8abf708e7340490f4946630293b04c..5c10152a7dabf7bb3dca6ce11578fdbe8d3509ac 100644
--- a/src/TNL/Experimental/Multimaps/EllpackIndexMultimap_impl.h
+++ b/src/TNL/Containers/Multimaps/EllpackIndexMultimap_impl.h
@@ -10,7 +10,7 @@
 
 #pragma once 
 
-#include <TNL/Experimental/Multimaps/EllpackIndexMultimap.h>
+#include <TNL/Containers/Multimaps/EllpackIndexMultimap.h>
 
 namespace TNL {
 
diff --git a/src/TNL/Experimental/Multimaps/MultimapPermutationApplier.h b/src/TNL/Containers/Multimaps/MultimapPermutationApplier.h
similarity index 100%
rename from src/TNL/Experimental/Multimaps/MultimapPermutationApplier.h
rename to src/TNL/Containers/Multimaps/MultimapPermutationApplier.h
diff --git a/src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimap.h b/src/TNL/Containers/Multimaps/StaticEllpackIndexMultimap.h
similarity index 95%
rename from src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimap.h
rename to src/TNL/Containers/Multimaps/StaticEllpackIndexMultimap.h
index 2b9c8785b30f74fd7cfd0d159c6fd3c186400f5a..85f013369828b60098efab5e5653797ec823757a 100644
--- a/src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimap.h
+++ b/src/TNL/Containers/Multimaps/StaticEllpackIndexMultimap.h
@@ -11,7 +11,7 @@
 #pragma once
 
 #include <TNL/Containers/Vector.h>
-#include <TNL/Experimental/Multimaps/StaticEllpackIndexMultimapValues.h>
+#include <TNL/Containers/Multimaps/StaticEllpackIndexMultimapValues.h>
 
 namespace TNL {
 
@@ -104,5 +104,5 @@ std::ostream& operator << ( std::ostream& str, const StaticEllpackIndexMultimap<
 
 } // namespace TNL
 
-#include <TNL/Experimental/Multimaps/StaticEllpackIndexMultimap_impl.h>
+#include <TNL/Containers/Multimaps/StaticEllpackIndexMultimap_impl.h>
 
diff --git a/src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimapValues.h b/src/TNL/Containers/Multimaps/StaticEllpackIndexMultimapValues.h
similarity index 97%
rename from src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimapValues.h
rename to src/TNL/Containers/Multimaps/StaticEllpackIndexMultimapValues.h
index 9a478ff1b6c37691aa8e758e902d4ca0e85e4983..5b69861c18d63f4fdfa60a0022ee5d145fdd306a 100644
--- a/src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimapValues.h
+++ b/src/TNL/Containers/Multimaps/StaticEllpackIndexMultimapValues.h
@@ -101,5 +101,5 @@ std::ostream& operator << ( std::ostream& str, const StaticEllpackIndexMultimapV
 
 } // namespace TNL
 
-#include <TNL/Experimental/Multimaps/StaticEllpackIndexMultimapValues_impl.h>
+#include <TNL/Containers/Multimaps/StaticEllpackIndexMultimapValues_impl.h>
 
diff --git a/src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimapValues_impl.h b/src/TNL/Containers/Multimaps/StaticEllpackIndexMultimapValues_impl.h
similarity index 100%
rename from src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimapValues_impl.h
rename to src/TNL/Containers/Multimaps/StaticEllpackIndexMultimapValues_impl.h
diff --git a/src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimap_impl.h b/src/TNL/Containers/Multimaps/StaticEllpackIndexMultimap_impl.h
similarity index 99%
rename from src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimap_impl.h
rename to src/TNL/Containers/Multimaps/StaticEllpackIndexMultimap_impl.h
index 4782ed9c2a7129e1ec902190f02da08b9e8fbfea..a0c61fa08b508f1f5d75e46f77d7f085232fa032 100644
--- a/src/TNL/Experimental/Multimaps/StaticEllpackIndexMultimap_impl.h
+++ b/src/TNL/Containers/Multimaps/StaticEllpackIndexMultimap_impl.h
@@ -10,7 +10,7 @@
 
 #pragma once 
 
-#include <TNL/Experimental/Multimaps/StaticEllpackIndexMultimap.h>
+#include <TNL/Containers/Multimaps/StaticEllpackIndexMultimap.h>
 
 namespace TNL {
 
diff --git a/src/TNL/Experimental/CMakeLists.txt b/src/TNL/Experimental/CMakeLists.txt
index 47fc9efa44f92699b64e247af1778ad83e6cebfa..fea80728f261adbdaa6519a3efea912f253de31e 100644
--- a/src/TNL/Experimental/CMakeLists.txt
+++ b/src/TNL/Experimental/CMakeLists.txt
@@ -1,3 +1,2 @@
 ADD_SUBDIRECTORY( Arithmetics )
-ADD_SUBDIRECTORY( Multimaps )
 ADD_SUBDIRECTORY( Hamilton-Jacobi )
diff --git a/src/TNL/Meshes/MeshDetails/IndexPermutationApplier.h b/src/TNL/Meshes/MeshDetails/IndexPermutationApplier.h
index f2f2c925e2bb389c8e73cc65636679f2fa86de2c..2bf9a007c6e76b532718a11174f8525c9fec0b25 100644
--- a/src/TNL/Meshes/MeshDetails/IndexPermutationApplier.h
+++ b/src/TNL/Meshes/MeshDetails/IndexPermutationApplier.h
@@ -12,7 +12,7 @@
 
 #include <TNL/Meshes/DimensionTag.h>
 #include <TNL/Meshes/Mesh.h>
-#include <TNL/Experimental/Multimaps/MultimapPermutationApplier.h>
+#include <TNL/Containers/Multimaps/MultimapPermutationApplier.h>
 
 namespace TNL {
 namespace Meshes {
diff --git a/src/TNL/Meshes/MeshDetails/traits/MeshSubentityTraits.h b/src/TNL/Meshes/MeshDetails/traits/MeshSubentityTraits.h
index 70ed6ffcad6abed83736aa0c17bbda08f2c991d2..6f44e834e4da3722351abf50f3c73cc73c4434c0 100644
--- a/src/TNL/Meshes/MeshDetails/traits/MeshSubentityTraits.h
+++ b/src/TNL/Meshes/MeshDetails/traits/MeshSubentityTraits.h
@@ -20,7 +20,7 @@
 #include <TNL/Meshes/MeshEntity.h>
 #include <TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h>
 #include <TNL/Meshes/Topologies/SubentityVertexMap.h>
-#include <TNL/Experimental/Multimaps/StaticEllpackIndexMultimap.h>
+#include <TNL/Containers/Multimaps/StaticEllpackIndexMultimap.h>
 
 namespace TNL {
 namespace Meshes {
diff --git a/src/TNL/Meshes/MeshDetails/traits/MeshSuperentityTraits.h b/src/TNL/Meshes/MeshDetails/traits/MeshSuperentityTraits.h
index 0b5d3e831f2ac55299cefca705d042be185c83ba..efee12537b1d11bc32e099ea4b8b5930e68a7cb7 100644
--- a/src/TNL/Meshes/MeshDetails/traits/MeshSuperentityTraits.h
+++ b/src/TNL/Meshes/MeshDetails/traits/MeshSuperentityTraits.h
@@ -18,7 +18,7 @@
 
 #include <TNL/Meshes/MeshEntity.h>
 #include <TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h>
-#include <TNL/Experimental/Multimaps/EllpackIndexMultimap.h>
+#include <TNL/Containers/Multimaps/EllpackIndexMultimap.h>
 
 namespace TNL {
 namespace Meshes {