diff --git a/src/TNL/Matrices/Multidiagonal.h b/src/TNL/Matrices/Legacy/Multidiagonal.h
similarity index 98%
rename from src/TNL/Matrices/Multidiagonal.h
rename to src/TNL/Matrices/Legacy/Multidiagonal.h
index 1ee6a25e9af4fbf8d8f28461e6658305e2b0151f..d9f1379f793f660de1c138609fd085d64909198b 100644
--- a/src/TNL/Matrices/Multidiagonal.h
+++ b/src/TNL/Matrices/Legacy/Multidiagonal.h
@@ -12,7 +12,7 @@
 
 #include <TNL/Matrices/Matrix.h>
 #include <TNL/Containers/Vector.h>
-#include <TNL/Matrices/MultidiagonalRow.h>
+#include <TNL/Matrices/Legacy/MultidiagonalRow.h>
 
 namespace TNL {
 namespace Matrices {   
@@ -221,4 +221,4 @@ protected:
 } // namespace Matrices
 } // namespace TNL
 
-#include <TNL/Matrices/Multidiagonal_impl.h>
+#include <TNL/Matrices/Legacy/Multidiagonal_impl.h>
diff --git a/src/TNL/Matrices/MultidiagonalMatrixSetter.h b/src/TNL/Matrices/Legacy/MultidiagonalMatrixSetter.h
similarity index 96%
rename from src/TNL/Matrices/MultidiagonalMatrixSetter.h
rename to src/TNL/Matrices/Legacy/MultidiagonalMatrixSetter.h
index c10d0cc57e7ebf4282158fa6720bf6388c7b9c05..f9e7ef135420f417ab34d6f182dd569d74f30768 100644
--- a/src/TNL/Matrices/MultidiagonalMatrixSetter.h
+++ b/src/TNL/Matrices/Legacy/MultidiagonalMatrixSetter.h
@@ -11,7 +11,7 @@
 #pragma once
 
 #include <TNL/Meshes/Grid.h>
-#include <TNL/Matrices/Multidiagonal.h>
+#include <TNL/Matrices/Legacy/Multidiagonal.h>
 
 namespace TNL {
 namespace Matrices {   
@@ -85,4 +85,4 @@ class MultidiagonalMatrixSetter< Meshes::Grid< 3, MeshReal, Device, MeshIndex >
 } // namespace Matrices
 } // namespace TNL
 
-#include <TNL/Matrices/MultidiagonalMatrixSetter_impl.h>
+#include <TNL/Matrices/Legacy/MultidiagonalMatrixSetter_impl.h>
diff --git a/src/TNL/Matrices/MultidiagonalMatrixSetter_impl.h b/src/TNL/Matrices/Legacy/MultidiagonalMatrixSetter_impl.h
similarity index 100%
rename from src/TNL/Matrices/MultidiagonalMatrixSetter_impl.h
rename to src/TNL/Matrices/Legacy/MultidiagonalMatrixSetter_impl.h
diff --git a/src/TNL/Matrices/MultidiagonalRow.h b/src/TNL/Matrices/Legacy/MultidiagonalRow.h
similarity index 96%
rename from src/TNL/Matrices/MultidiagonalRow.h
rename to src/TNL/Matrices/Legacy/MultidiagonalRow.h
index 1d465d2296e9eb86dd3f376713d4e69fa172a09e..c41541eade10ca6b3fa2b98900dffadbc4e62fa9 100644
--- a/src/TNL/Matrices/MultidiagonalRow.h
+++ b/src/TNL/Matrices/Legacy/MultidiagonalRow.h
@@ -54,5 +54,5 @@ class MultidiagonalRow
 } // namespace Matrices
 } // namespace TNL
 
-#include <TNL/Matrices/MultidiagonalRow_impl.h>
+#include <TNL/Matrices/Legacy/MultidiagonalRow_impl.h>
 
diff --git a/src/TNL/Matrices/MultidiagonalRow_impl.h b/src/TNL/Matrices/Legacy/MultidiagonalRow_impl.h
similarity index 100%
rename from src/TNL/Matrices/MultidiagonalRow_impl.h
rename to src/TNL/Matrices/Legacy/MultidiagonalRow_impl.h
diff --git a/src/TNL/Matrices/Multidiagonal_impl.h b/src/TNL/Matrices/Legacy/Multidiagonal_impl.h
similarity index 99%
rename from src/TNL/Matrices/Multidiagonal_impl.h
rename to src/TNL/Matrices/Legacy/Multidiagonal_impl.h
index 76f54f748c0744d810518cd9dde5872a894099ad..375e01c6d1cfe1439cf419d524bfba51d9b24b0b 100644
--- a/src/TNL/Matrices/Multidiagonal_impl.h
+++ b/src/TNL/Matrices/Legacy/Multidiagonal_impl.h
@@ -10,7 +10,7 @@
 
 #pragma once
 
-#include <TNL/Matrices/Multidiagonal.h>
+#include <TNL/Matrices/Legacy/Multidiagonal.h>
 #include <TNL/Containers/Vector.h>
 #include <TNL/Math.h>
 #include <TNL/Exceptions/NotImplementedError.h>
diff --git a/src/TNL/Problems/HeatEquationProblem_impl.h b/src/TNL/Problems/HeatEquationProblem_impl.h
index bc339e9b3ba56eb9e4d3499d4954be57cda7d864..98cd6d5e4f0f74b797fb88b8b88c83079aee76ee 100644
--- a/src/TNL/Problems/HeatEquationProblem_impl.h
+++ b/src/TNL/Problems/HeatEquationProblem_impl.h
@@ -18,7 +18,7 @@
 
 #include <TNL/FileName.h>
 #include <TNL/Matrices/MatrixSetter.h>
-#include <TNL/Matrices/MultidiagonalMatrixSetter.h>
+#include <TNL/Matrices/Legacy/MultidiagonalMatrixSetter.h>
 #include <TNL/Logger.h>
 #include <TNL/Solvers/PDE/BoundaryConditionsSetter.h>