diff --git a/src/TNL/Meshes/MeshConfigBase.h b/src/TNL/Meshes/MeshConfigBase.h
index 539cb37619fff5e516e65b17cf1b2dc06086c77c..ce91b7ea9658dc4dc0dee825fc51c7a30d23a89d 100644
--- a/src/TNL/Meshes/MeshConfigBase.h
+++ b/src/TNL/Meshes/MeshConfigBase.h
@@ -18,7 +18,7 @@
 
 #include <TNL/String.h>
 #include <TNL/param-types.h>
-#include <TNL/Meshes/Topologies/MeshEntityTopology.h>
+#include <TNL/Meshes/Topologies/SubentityVertexMap.h>
 
 namespace TNL {
 namespace Meshes {
diff --git a/src/TNL/Meshes/MeshDetails/config/MeshConfigValidator.h b/src/TNL/Meshes/MeshDetails/config/MeshConfigValidator.h
index 00b393f8f58181fec558f3fc966070ad3aa38a47..5029b19080c7d011ca0108f8b86e2d93a60d6edb 100644
--- a/src/TNL/Meshes/MeshDetails/config/MeshConfigValidator.h
+++ b/src/TNL/Meshes/MeshDetails/config/MeshConfigValidator.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include <TNL/Meshes/Topologies/MeshEntityTopology.h>
+#include <TNL/Meshes/Topologies/SubentityVertexMap.h>
 #include <TNL/Meshes/DimensionTag.h>
 
 namespace TNL {
diff --git a/src/TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h b/src/TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h
index 64cf27b3de731e5b7e8b1836fa37dee756fed33b..76db02b246eb913daf0ae473b6f4ae98fdfd7e9a 100644
--- a/src/TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h
+++ b/src/TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h
@@ -18,7 +18,7 @@
 
 #include <TNL/Containers/Array.h>
 #include <TNL/Containers/IndexedSet.h>
-#include <TNL/Meshes/Topologies/MeshEntityTopology.h>
+#include <TNL/Meshes/Topologies/SubentityVertexMap.h>
 #include <TNL/Meshes/MeshDetails/traits/MeshTraits.h>
 #include <TNL/Meshes/MeshDetails/initializer/MeshEntitySeed.h>
 
diff --git a/src/TNL/Meshes/MeshDetails/traits/MeshSubentityTraits.h b/src/TNL/Meshes/MeshDetails/traits/MeshSubentityTraits.h
index c007ec27a97f4071dbf95c5ba1929632923352aa..1ffff590053b1bf80fdffa1a7423ceec135f2c22 100644
--- a/src/TNL/Meshes/MeshDetails/traits/MeshSubentityTraits.h
+++ b/src/TNL/Meshes/MeshDetails/traits/MeshSubentityTraits.h
@@ -19,7 +19,7 @@
 #include <TNL/Containers/StaticArray.h>
 #include <TNL/Meshes/MeshEntity.h>
 #include <TNL/Meshes/MeshDetails/traits/MeshEntityTraits.h>
-#include <TNL/Meshes/Topologies/MeshEntityTopology.h>
+#include <TNL/Meshes/Topologies/SubentityVertexMap.h>
 #include <TNL/Experimental/Multimaps/StaticEllpackIndexMultimap.h>
 
 namespace TNL {
diff --git a/src/TNL/Meshes/Readers/VTKReader_libvtk.h b/src/TNL/Meshes/Readers/VTKReader_libvtk.h
index 9526f5ed8b0fb66bc7043970b75a18652409b3de..f503b4a9d9121e8543ff53a128e01944d645dfc5 100644
--- a/src/TNL/Meshes/Readers/VTKReader_libvtk.h
+++ b/src/TNL/Meshes/Readers/VTKReader_libvtk.h
@@ -19,7 +19,7 @@
 
 #include <TNL/Containers/StaticVector.h>
 #include <TNL/Meshes/MeshBuilder.h>
-#include <TNL/Meshes/Topologies/MeshEntityTopology.h>
+#include <TNL/Meshes/Topologies/SubentityVertexMap.h>
 #include <TNL/Meshes/Readers/VTKEntityType.h>
 
 #ifdef HAVE_VTK
@@ -78,7 +78,7 @@ public:
       // https://stackoverflow.com/questions/272900/undefined-reference-to-static-class-member/272996#272996
       TNL_ASSERT_EQ( this->worldDimension, + MeshType::Config::worldDimension, "world dimensions do not match" );
       TNL_ASSERT_EQ( this->meshDimension, + MeshType::Config::meshDimension, "mesh dimensions do not match" );
-      const int subvertices = MeshSubtopology< typename MeshType::Config::CellTopology, 0 >::count;
+      const int subvertices = Topologies::Subtopology< typename MeshType::Config::CellTopology, 0 >::count;
       TNL_ASSERT_EQ( this->verticesInEntities.at( this->meshDimension ), subvertices, "numbers of cell subvertices do not match" );
 
       using MeshBuilder = MeshBuilder< MeshType >;
diff --git a/src/TNL/Meshes/Topologies/CMakeLists.txt b/src/TNL/Meshes/Topologies/CMakeLists.txt
index 5886da9c407db25de0e29aa0f54fb166537971e8..6ad46481f3ce2dbff6cbd27ac21448d4b4fc8e4e 100644
--- a/src/TNL/Meshes/Topologies/CMakeLists.txt
+++ b/src/TNL/Meshes/Topologies/CMakeLists.txt
@@ -1,10 +1,10 @@
 SET( headers MeshEdgeTopology.h
-             MeshEntityTopology.h
              MeshHexahedronTopology.h
              MeshQuadrilateralTopology.h
              MeshTetrahedronTopology.h
              MeshTriangleTopology.h
              MeshVertexTopology.h
+             SubentityVertexMap.h
 )
 
 INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Meshes/Topologies )
diff --git a/src/TNL/Meshes/Topologies/MeshEdgeTopology.h b/src/TNL/Meshes/Topologies/MeshEdgeTopology.h
index a8e4b4e59c359b76798164ffa10ca859c6df2b8f..c8d9c9bd234a28dce0750ccc9aa4daefabfccff8 100644
--- a/src/TNL/Meshes/Topologies/MeshEdgeTopology.h
+++ b/src/TNL/Meshes/Topologies/MeshEdgeTopology.h
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include <TNL/Meshes/Topologies/MeshEntityTopology.h>
+#include <TNL/Meshes/Topologies/SubentityVertexMap.h>
 #include <TNL/Meshes/Topologies/MeshVertexTopology.h>
 
 namespace TNL {
diff --git a/src/TNL/Meshes/Topologies/MeshSimplexTopology.h b/src/TNL/Meshes/Topologies/MeshSimplexTopology.h
index 7d0a7e4ff7388fb69d36b8f6c8549cb9721f2880..39ce80e00cb884dcead7ecfed22d517139f0ce10 100644
--- a/src/TNL/Meshes/Topologies/MeshSimplexTopology.h
+++ b/src/TNL/Meshes/Topologies/MeshSimplexTopology.h
@@ -17,7 +17,7 @@
 
 #pragma once
 
-#include <TNL/Meshes/Topologies/MeshEntityTopology.h>
+#include <TNL/Meshes/Topologies/SubentityVertexMap.h>
 #include <TNL/Meshes/Topologies/MeshVertexTopology.h>
 
 namespace TNL {
diff --git a/src/TNL/Meshes/Topologies/MeshEntityTopology.h b/src/TNL/Meshes/Topologies/SubentityVertexMap.h
similarity index 88%
rename from src/TNL/Meshes/Topologies/MeshEntityTopology.h
rename to src/TNL/Meshes/Topologies/SubentityVertexMap.h
index b506f4f5da8893d4ab305117a4528bac25225350..89b5fb57e002f33ab897034927c79889ec1105c5 100644
--- a/src/TNL/Meshes/Topologies/MeshEntityTopology.h
+++ b/src/TNL/Meshes/Topologies/SubentityVertexMap.h
@@ -1,5 +1,5 @@
 /***************************************************************************
-                          MeshEntityTopology.h  -  description
+                          SubentityVertexMap.h  -  description
                              -------------------
     begin                : Feb 11, 2014
     copyright            : (C) 2014 by Tomas Oberhuber et al.
@@ -16,10 +16,6 @@
 
 #pragma once
 
-#include <type_traits>
-
-#include <TNL/Meshes/DimensionTag.h>
-
 namespace TNL {
 namespace Meshes{
 namespace Topologies {