diff --git a/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp b/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
index e9af9f03cc0236c8cdecbbe3b383591242828955..7e65c26e4f981a199908972bc57938f635a02fad 100644
--- a/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
+++ b/Applications/DataExplorer/DataView/CreateStructuredGridDialog.cpp
@@ -19,7 +19,7 @@
 #include "Base/OGSError.h"
 #include "Base/StrictDoubleValidator.h"
 #include "GeoLib/Point.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 CreateStructuredGridDialog::CreateStructuredGridDialog(QDialog* parent)
     : QDialog(parent)
diff --git a/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp b/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
index 27d8f3e4cfde091b173c9d85b01045b6ecc9fd1b..9a310efe1c4072954694ee732aab785731d73db1 100644
--- a/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
+++ b/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
@@ -23,8 +23,8 @@
 #include "BaseLib/Logging.h"
 #include "GeoLib/Raster.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 const std::vector<std::pair<std::size_t, double>>&
 DirectConditionGenerator::directToSurfaceNodes(const MeshLib::Mesh& mesh,
diff --git a/Applications/DataExplorer/DataView/ElementTreeModel.cpp b/Applications/DataExplorer/DataView/ElementTreeModel.cpp
index 9d458dcfb86258c0d78fc49c6b854790fd9cb28e..b8b720f062f4bba8413cbed636b1d7e35d3a46bf 100644
--- a/Applications/DataExplorer/DataView/ElementTreeModel.cpp
+++ b/Applications/DataExplorer/DataView/ElementTreeModel.cpp
@@ -18,9 +18,9 @@
 #include "GeoLib/AABB.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshInformation.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Vtk/VtkMappedMeshSource.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 namespace
 {
diff --git a/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp b/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
index dc8032fdd566d48f10e7f10cda827005b4bfb27f..e33fdea309a29416dd3d8f9137174d6e52b97fee 100644
--- a/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshAnalysisDialog.cpp
@@ -16,9 +16,9 @@
 
 #include "Base/StrictDoubleValidator.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/MeshRevision.h"
-#include "MeshLib/MeshQuality/MeshValidation.h"
 #include "MeshLib/MeshSearch/NodeSearch.h"
+#include "MeshToolsLib/MeshEditing/MeshRevision.h"
+#include "MeshToolsLib/MeshQuality/MeshValidation.h"
 
 MeshAnalysisDialog::MeshAnalysisDialog(
     std::vector<std::unique_ptr<MeshLib::Mesh>> const& mesh_vec,
diff --git a/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp b/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
index 1a33ee4fcae8708fd0f7398c0c3abeb91e2b1dce..2b618301b00c32103ecff6b3d97ea9c948ae711a 100644
--- a/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshElementRemovalDialog.cpp
@@ -24,10 +24,10 @@
 #include "GeoLib/AABB.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
 #include "MeshLib/MeshSearch/ElementSearch.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Properties.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
 
 /// Constructor
 MeshElementRemovalDialog::MeshElementRemovalDialog(
diff --git a/Applications/DataExplorer/DataView/MeshLayerEditDialog.cpp b/Applications/DataExplorer/DataView/MeshLayerEditDialog.cpp
index a2a7d452609103a064bd982b1a41f51cb054cd52..8264485b1a46e028fa8e263e82d9549c685d7fe9 100644
--- a/Applications/DataExplorer/DataView/MeshLayerEditDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshLayerEditDialog.cpp
@@ -34,7 +34,7 @@
 #include "BaseLib/Logging.h"
 #include "BaseLib/StringTools.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/LayeredVolume.h"
+#include "MeshToolsLib/MeshGenerators/LayeredVolume.h"
 
 MeshLayerEditDialog::MeshLayerEditDialog(const MeshLib::Mesh* mesh,
                                          QDialog* parent)
diff --git a/Applications/DataExplorer/DataView/MeshLayerEditDialog.h b/Applications/DataExplorer/DataView/MeshLayerEditDialog.h
index 058f70dc0997e150545607def3ca0122deeeed6f..4f3a7e83254c847f9bd5b4ca762268be321d68af 100644
--- a/Applications/DataExplorer/DataView/MeshLayerEditDialog.h
+++ b/Applications/DataExplorer/DataView/MeshLayerEditDialog.h
@@ -14,11 +14,11 @@
 
 #pragma once
 
-#include "ui_MeshLayerEdit.h"
 #include <QDialog>
 #include <QLineEdit>
 
-#include "MeshLib/MeshGenerators/MeshLayerMapper.h"
+#include "MeshToolsLib/MeshGenerators/MeshLayerMapper.h"
+#include "ui_MeshLayerEdit.h"
 
 class QPushButton;
 class QCheckBox;
diff --git a/Applications/DataExplorer/DataView/MeshValueEditDialog.cpp b/Applications/DataExplorer/DataView/MeshValueEditDialog.cpp
index 351877dee5554d94b72e18f08ef011a1ca9d4575..52f475715e274292bd094fa7b16566cde36459f7 100644
--- a/Applications/DataExplorer/DataView/MeshValueEditDialog.cpp
+++ b/Applications/DataExplorer/DataView/MeshValueEditDialog.cpp
@@ -15,7 +15,7 @@
 #include "MeshValueEditDialog.h"
 
 #include "Base/OGSError.h"
-#include "MeshLib/MeshEditing/ElementValueModification.h"
+#include "MeshToolsLib/MeshEditing/ElementValueModification.h"
 
 MeshValueEditDialog::MeshValueEditDialog(MeshLib::Mesh* mesh, QDialog* parent)
     : QDialog(parent), _mesh(mesh)
diff --git a/Applications/DataExplorer/DataView/MeshView.cpp b/Applications/DataExplorer/DataView/MeshView.cpp
index f23e51df160262cdddf1a52daa7eaca3a145990d..70c54fc3b6128681ebd2a1e8b37d82e6ee6da8f8 100644
--- a/Applications/DataExplorer/DataView/MeshView.cpp
+++ b/Applications/DataExplorer/DataView/MeshView.cpp
@@ -32,12 +32,12 @@
 #include "MeshItem.h"
 #include "MeshLayerEditDialog.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/AddLayerToMesh.h"
-#include "MeshLib/MeshEditing/RasterDataToMesh.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
 #include "MeshMapping2DDialog.h"
 #include "MeshModel.h"
+#include "MeshToolsLib/MeshEditing/AddLayerToMesh.h"
+#include "MeshToolsLib/MeshEditing/RasterDataToMesh.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 #include "MeshValueEditDialog.h"
 #include "RasterDataToMeshDialog.h"
 #include "SaveMeshDialog.h"
diff --git a/Applications/DataExplorer/VtkVis/NetCdfConfigureDialog.cpp b/Applications/DataExplorer/VtkVis/NetCdfConfigureDialog.cpp
index 74cea4f64b06482139b497110a7fc7957ee7bf8e..6542d63671ccbad09ef5bb90249eb8816e6d0f29 100644
--- a/Applications/DataExplorer/VtkVis/NetCdfConfigureDialog.cpp
+++ b/Applications/DataExplorer/VtkVis/NetCdfConfigureDialog.cpp
@@ -17,7 +17,7 @@
 #include "GeoLib/Raster.h"
 #include "MathLib/Point3d.h"
 #include "MeshLib/MeshEnums.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
 #include "VtkVis/VtkGeoImageSource.h"
 #include "VtkVis/VtkRaster.h"
 
diff --git a/Applications/DataExplorer/VtkVis/VtkVisPipelineView.cpp b/Applications/DataExplorer/VtkVis/VtkVisPipelineView.cpp
index 0e25c82e64c92329cb2ce1994bdcbe8ba60dd3e1..b5e938237e5d3d9245591f20fc2bbcf52fd99192 100644
--- a/Applications/DataExplorer/VtkVis/VtkVisPipelineView.cpp
+++ b/Applications/DataExplorer/VtkVis/VtkVisPipelineView.cpp
@@ -30,7 +30,7 @@
 #include "Base/OGSError.h"
 #include "MeshLib/IO/VtkIO/VtkMeshConverter.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
 #include "VtkVisPipeline.h"
 #include "VtkVisPipelineItem.h"
 #include "VtkVisPointSetItem.h"
diff --git a/Applications/DataExplorer/mainwindow.cpp b/Applications/DataExplorer/mainwindow.cpp
index b404ed7c6d646d5e6f18d0e88060f675b0aecc73..cd1c5ae792b1534a0a2e060b12580ea11a799e83 100644
--- a/Applications/DataExplorer/mainwindow.cpp
+++ b/Applications/DataExplorer/mainwindow.cpp
@@ -60,11 +60,11 @@
 #include "MeshLib/IO/Legacy/MeshIO.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshQuality/ElementQualityInterface.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Vtk/VtkMappedMeshSource.h"
-#include "MeshLib/convertMeshToGeo.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityInterface.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
+#include "MeshToolsLib/convertMeshToGeo.h"
 
 // Dialogs
 #include "DataView/CreateStructuredGridDialog.h"
diff --git a/Applications/FileIO/Gmsh/GmshReader.cpp b/Applications/FileIO/Gmsh/GmshReader.cpp
index e14b905eacf8e67192d160baee6e143205bd9c8d..4792ffa8d92c02ee73d469317d29a36e9e312b0e 100644
--- a/Applications/FileIO/Gmsh/GmshReader.cpp
+++ b/Applications/FileIO/Gmsh/GmshReader.cpp
@@ -26,8 +26,8 @@
 #include "MeshLib/Elements/Tet.h"
 #include "MeshLib/Elements/Tri.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/ElementValueModification.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/ElementValueModification.h"
 
 namespace FileIO
 {
diff --git a/Applications/FileIO/Legacy/createSurface.cpp b/Applications/FileIO/Legacy/createSurface.cpp
index 49421c4462f028f7b29d419dacf997d19840f4f3..92ccca7dfc4ad636e85843dc4eb32a4dec5f3aa7 100644
--- a/Applications/FileIO/Legacy/createSurface.cpp
+++ b/Applications/FileIO/Legacy/createSurface.cpp
@@ -25,7 +25,7 @@
 #include "GeoLib/Triangle.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/convertMeshToGeo.h"
+#include "MeshToolsLib/convertMeshToGeo.h"
 
 namespace FileIO
 {
diff --git a/Applications/FileIO/TetGenInterface.cpp b/Applications/FileIO/TetGenInterface.cpp
index 2332e3d959b54399d5710cbcebcbdf4636d8047a..d87f37088a34b60bdaa8944a8b5705e5a6b2a837 100644
--- a/Applications/FileIO/TetGenInterface.cpp
+++ b/Applications/FileIO/TetGenInterface.cpp
@@ -25,8 +25,8 @@
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Elements/Tet.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshInformation.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 namespace FileIO
 {
diff --git a/Applications/Utils/FileConverter/GMSH2OGS.cpp b/Applications/Utils/FileConverter/GMSH2OGS.cpp
index 0705f99ecedfb3611e84dfe69cb32dfe027e38cd..ab2a6dee253be84310369b0ae68b15136f46eaab 100644
--- a/Applications/Utils/FileConverter/GMSH2OGS.cpp
+++ b/Applications/Utils/FileConverter/GMSH2OGS.cpp
@@ -37,10 +37,10 @@
 #include "MeshGeoToolsLib/MeshNodeSearcher.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
-#include "MeshLib/MeshInformation.h"
 #include "MeshLib/MeshSearch/ElementSearch.h"
 #include "MeshLib/Utils/DuplicateMeshComponents.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 static std::unique_ptr<MeshLib::Mesh> createMeshFromElements(
     MeshLib::Mesh const& mesh,
diff --git a/Applications/Utils/FileConverter/GocadSGridReader.cpp b/Applications/Utils/FileConverter/GocadSGridReader.cpp
index b9dfb17850694c8983c9af1c9efad9de27bd2e84..51dd8039727abc4a092bcc5a4081a84241d5d988 100644
--- a/Applications/Utils/FileConverter/GocadSGridReader.cpp
+++ b/Applications/Utils/FileConverter/GocadSGridReader.cpp
@@ -26,8 +26,8 @@
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshInformation.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/FileConverter/Mesh2Raster.cpp b/Applications/Utils/FileConverter/Mesh2Raster.cpp
index 0e403c630f8f875ae2909bc90f7cb3765bedef69..112b6585f88289361169f204e02555cde41df320 100644
--- a/Applications/Utils/FileConverter/Mesh2Raster.cpp
+++ b/Applications/Utils/FileConverter/Mesh2Raster.cpp
@@ -22,9 +22,9 @@
 #include "InfoLib/GitInfo.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/ProjectPointOnMesh.h"
 #include "MeshLib/MeshSearch/MeshElementGrid.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/ProjectPointOnMesh.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/FileConverter/NetCdfConverter.cpp b/Applications/Utils/FileConverter/NetCdfConverter.cpp
index bbc2a4c8ed3338a658434ea31089b2cdf7a0fd5a..6b4233e7f31f94e89808c1278a7c8004726ca070 100644
--- a/Applications/Utils/FileConverter/NetCdfConverter.cpp
+++ b/Applications/Utils/FileConverter/NetCdfConverter.cpp
@@ -31,7 +31,7 @@
 #include "InfoLib/GitInfo.h"
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
 
 using namespace netCDF;
 
diff --git a/Applications/Utils/FileConverter/TIN2VTK.cpp b/Applications/Utils/FileConverter/TIN2VTK.cpp
index 8b126f9c7b5de534ad64f4005f310c30f05abb06..79542ffe190d1bd80b807f1cfc3ffd94a8badb3e 100644
--- a/Applications/Utils/FileConverter/TIN2VTK.cpp
+++ b/Applications/Utils/FileConverter/TIN2VTK.cpp
@@ -31,7 +31,7 @@
 
 // MeshLib
 #include "MeshLib/Mesh.h"
-#include "MeshLib/convertMeshToGeo.h"
+#include "MeshToolsLib/convertMeshToGeo.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/FileConverter/TecPlotTools.cpp b/Applications/Utils/FileConverter/TecPlotTools.cpp
index ac38396d7fc5ffdb90362f47f7ae3c6cf781edfd..b926596f610a00f385929a47626aeb3a2a26af74 100644
--- a/Applications/Utils/FileConverter/TecPlotTools.cpp
+++ b/Applications/Utils/FileConverter/TecPlotTools.cpp
@@ -24,7 +24,7 @@
 #include "InfoLib/GitInfo.h"
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
 
 /// Returns the value for the given parameter name (i.e. for "x = 3" it returns
 /// "3")
diff --git a/Applications/Utils/FileConverter/VTK2TIN.cpp b/Applications/Utils/FileConverter/VTK2TIN.cpp
index 085dc88f6c585755201668cd407c667b4a876b6a..8c9e4ae74c8322a3bb1123d72045786aa7a96321 100644
--- a/Applications/Utils/FileConverter/VTK2TIN.cpp
+++ b/Applications/Utils/FileConverter/VTK2TIN.cpp
@@ -32,7 +32,7 @@
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/Node.h"
-#include "MeshLib/convertMeshToGeo.h"
+#include "MeshToolsLib/convertMeshToGeo.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/AddElementQuality.cpp b/Applications/Utils/MeshEdit/AddElementQuality.cpp
index 57f69b68e998f3a7449ad8d4fd35963ff13b1d24..bc27a72040feec6e2e7816077a1e2834ec485685 100644
--- a/Applications/Utils/MeshEdit/AddElementQuality.cpp
+++ b/Applications/Utils/MeshEdit/AddElementQuality.cpp
@@ -22,7 +22,7 @@
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/MeshEnums.h"
-#include "MeshLib/MeshQuality/ElementQualityInterface.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityInterface.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/AddLayer.cpp b/Applications/Utils/MeshEdit/AddLayer.cpp
index bf01072a2468de6291b07c284d169f25648f3e70..31c43cca5498890f1b3fe037bd86f0bc859035f8 100644
--- a/Applications/Utils/MeshEdit/AddLayer.cpp
+++ b/Applications/Utils/MeshEdit/AddLayer.cpp
@@ -22,7 +22,7 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/AddLayerToMesh.h"
+#include "MeshToolsLib/MeshEditing/AddLayerToMesh.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/CreateBoundaryConditionsAlongPolylines.cpp b/Applications/Utils/MeshEdit/CreateBoundaryConditionsAlongPolylines.cpp
index 5d45dffb55ca451b73b55c3a44e50d13efc625a8..5fc778089f7624bd5c2f96d34e482fbb2967c797 100644
--- a/Applications/Utils/MeshEdit/CreateBoundaryConditionsAlongPolylines.cpp
+++ b/Applications/Utils/MeshEdit/CreateBoundaryConditionsAlongPolylines.cpp
@@ -30,8 +30,8 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 void convertMeshNodesToGeometry(std::vector<MeshLib::Node*> const& nodes,
                                 std::vector<std::size_t> const& node_ids,
diff --git a/Applications/Utils/MeshEdit/ExtractBoundary.cpp b/Applications/Utils/MeshEdit/ExtractBoundary.cpp
index 75cc2a617d985a936a072d4094721dcdca7dd95d..549d63c931a1a38bd3e61018d4ff9f8254118c95 100644
--- a/Applications/Utils/MeshEdit/ExtractBoundary.cpp
+++ b/Applications/Utils/MeshEdit/ExtractBoundary.cpp
@@ -28,8 +28,8 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/ExtractMaterials.cpp b/Applications/Utils/MeshEdit/ExtractMaterials.cpp
index 58fae088964639cdff00aee3805c96ec09ba8586..0fbe9e573015cc2382ceeab52ed7fe15a87e1382 100644
--- a/Applications/Utils/MeshEdit/ExtractMaterials.cpp
+++ b/Applications/Utils/MeshEdit/ExtractMaterials.cpp
@@ -21,7 +21,7 @@
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
 
 MeshLib::Mesh* extractMatGroup(MeshLib::Mesh const& mesh, int const mat_id)
 {
diff --git a/Applications/Utils/MeshEdit/ExtractSurface.cpp b/Applications/Utils/MeshEdit/ExtractSurface.cpp
index 75aa3c22cdad90bc1b6501986feabbd4f237b093..d466d7cd1383de2254efdf34803a1b9b8acb438e 100644
--- a/Applications/Utils/MeshEdit/ExtractSurface.cpp
+++ b/Applications/Utils/MeshEdit/ExtractSurface.cpp
@@ -27,7 +27,7 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/Layers2Grid.cpp b/Applications/Utils/MeshEdit/Layers2Grid.cpp
index f09e6a8dc497a3f67fd288e3a6fdc75d360f54ae..eeadca374d860a3af5244fbccf8d13e4dc51539b 100644
--- a/Applications/Utils/MeshEdit/Layers2Grid.cpp
+++ b/Applications/Utils/MeshEdit/Layers2Grid.cpp
@@ -26,7 +26,7 @@
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/IO/readMeshFromFile.h"
-#include "MeshLib/MeshGenerators/VoxelGridFromLayeredMeshes.h"
+#include "MeshToolsLib/MeshGenerators/VoxelGridFromLayeredMeshes.h"
 
 int main(int argc, char* argv[])
 {
@@ -136,7 +136,7 @@ int main(int argc, char* argv[])
                    std::back_inserter(layers_ptr),
                    [](auto const& layer) { return layer.get(); });
     bool const dilate = dilate_arg.getValue();
-    auto mesh = MeshLib::MeshGenerators::VoxelFromLayeredMeshes::
+    auto mesh = MeshToolsLib::MeshGenerators::VoxelFromLayeredMeshes::
         createVoxelFromLayeredMesh(extent, layers_ptr, cellsize, dilate);
     if (mesh == nullptr)
     {
diff --git a/Applications/Utils/MeshEdit/MeshMapping.cpp b/Applications/Utils/MeshEdit/MeshMapping.cpp
index d083114cf913fbb63967723d5badf5556687d7dd..f425c5d24e287cdc25582ed36b128fb3689e5c1b 100644
--- a/Applications/Utils/MeshEdit/MeshMapping.cpp
+++ b/Applications/Utils/MeshEdit/MeshMapping.cpp
@@ -28,10 +28,10 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/ProjectPointOnMesh.h"
-#include "MeshLib/MeshGenerators/MeshLayerMapper.h"
 #include "MeshLib/MeshSearch/MeshElementGrid.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/ProjectPointOnMesh.h"
+#include "MeshToolsLib/MeshGenerators/MeshLayerMapper.h"
 
 double getClosestPointElevation(MeshLib::Node const& p,
                                 std::vector<MeshLib::Node*> const& nodes,
diff --git a/Applications/Utils/MeshEdit/MoveMesh.cpp b/Applications/Utils/MeshEdit/MoveMesh.cpp
index 5ecb62a876df3596b331b648631bd007d733d688..7a8d01d4c18f201f0837e303feb3e7377df1c460 100644
--- a/Applications/Utils/MeshEdit/MoveMesh.cpp
+++ b/Applications/Utils/MeshEdit/MoveMesh.cpp
@@ -24,8 +24,8 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/moveMeshNodes.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/moveMeshNodes.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/PVTU2VTU/CMakeLists.txt b/Applications/Utils/MeshEdit/PVTU2VTU/CMakeLists.txt
index aa4a6bacbc125834a1eeba130db950a4bbc85f02..6501cc432172c7081e1ac814f3e6fcedbf58005f 100644
--- a/Applications/Utils/MeshEdit/PVTU2VTU/CMakeLists.txt
+++ b/Applications/Utils/MeshEdit/PVTU2VTU/CMakeLists.txt
@@ -3,5 +3,5 @@ ogs_add_executable(
     PVTU2VTU.cpp
     ${PROJECT_SOURCE_DIR}/Applications/Utils/ModelPreparation/PartitionMesh/IntegrationPointDataTools.cpp
 )
-target_link_libraries(pvtu2vtu GitInfoLib MeshLib tclap NumLib)
+target_link_libraries(pvtu2vtu GitInfoLib tclap MeshToolsLib NumLib)
 install(TARGETS pvtu2vtu RUNTIME DESTINATION bin)
diff --git a/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp b/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
index b40644d1874fbdebdcfee8601d59656c1bcde8e9..24a9d58a015010f8368364b87ad5b0a8ad234c51 100644
--- a/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
+++ b/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
@@ -27,7 +27,7 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshInformation.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/Vtu2Grid.cpp b/Applications/Utils/MeshEdit/Vtu2Grid.cpp
index 421f027102369e021be94e251b637bd0f1288207..266fa6f5813c058365285294a97de9841b7ab110 100644
--- a/Applications/Utils/MeshEdit/Vtu2Grid.cpp
+++ b/Applications/Utils/MeshEdit/Vtu2Grid.cpp
@@ -21,9 +21,9 @@
 #include "InfoLib/GitInfo.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/MeshSearch/ElementSearch.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 #ifdef USE_PETSC
 #include <mpi.h>
diff --git a/Applications/Utils/MeshEdit/checkMesh.cpp b/Applications/Utils/MeshEdit/checkMesh.cpp
index ae8bb0f220a4f9b4ac1fd0d4f9aa55b4f6845354..4656adc8b6c5fff3ca40d0a0fcc05e35189bb7d7 100644
--- a/Applications/Utils/MeshEdit/checkMesh.cpp
+++ b/Applications/Utils/MeshEdit/checkMesh.cpp
@@ -27,9 +27,9 @@
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshInformation.h"
-#include "MeshLib/MeshQuality/MeshValidation.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshInformation.h"
+#include "MeshToolsLib/MeshQuality/MeshValidation.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/convertToLinearMesh.cpp b/Applications/Utils/MeshEdit/convertToLinearMesh.cpp
index a9d8a8477364ede5400a6b966030e1162be353b8..cbc96f8045a0ba818c1b1eebfb458c9d05895663 100644
--- a/Applications/Utils/MeshEdit/convertToLinearMesh.cpp
+++ b/Applications/Utils/MeshEdit/convertToLinearMesh.cpp
@@ -7,7 +7,7 @@
  *              http://www.opengeosys.org/project/license
  */
 
-#include "MeshLib/MeshEditing/ConvertToLinearMesh.h"
+#include "MeshToolsLib/MeshEditing/ConvertToLinearMesh.h"
 
 #include <tclap/CmdLine.h>
 
diff --git a/Applications/Utils/MeshEdit/createLayeredMeshFromRasters.cpp b/Applications/Utils/MeshEdit/createLayeredMeshFromRasters.cpp
index 254a5179a9ff03a28ab03fe46da6e74ea7345892..a15b63771b0a97b5ce6fc4c74467f7b00484e656 100644
--- a/Applications/Utils/MeshEdit/createLayeredMeshFromRasters.cpp
+++ b/Applications/Utils/MeshEdit/createLayeredMeshFromRasters.cpp
@@ -28,7 +28,7 @@
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshLayerMapper.h"
+#include "MeshToolsLib/MeshGenerators/MeshLayerMapper.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/createQuadraticMesh.cpp b/Applications/Utils/MeshEdit/createQuadraticMesh.cpp
index 0dced650a64cf5faf266ef9ce1017a912ae18167..28f563d4dba5702793df00804f682e0071c8fca5 100644
--- a/Applications/Utils/MeshEdit/createQuadraticMesh.cpp
+++ b/Applications/Utils/MeshEdit/createQuadraticMesh.cpp
@@ -20,7 +20,7 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/QuadraticMeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/editMaterialID.cpp b/Applications/Utils/MeshEdit/editMaterialID.cpp
index cb46ed992cd26541c8447726611d594b0af43341..083c1c1b8032f02736d287c0196d06bf59155c24 100644
--- a/Applications/Utils/MeshEdit/editMaterialID.cpp
+++ b/Applications/Utils/MeshEdit/editMaterialID.cpp
@@ -20,8 +20,8 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/ElementValueModification.h"
-#include "MeshLib/MeshInformation.h"
+#include "MeshToolsLib/MeshEditing/ElementValueModification.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshEdit/removeMeshElements.cpp b/Applications/Utils/MeshEdit/removeMeshElements.cpp
index cb8fef981f4df741dfa7b015845d16be3994ccbd..25830add36ff4911f139c3e6d862ceda3409345d 100644
--- a/Applications/Utils/MeshEdit/removeMeshElements.cpp
+++ b/Applications/Utils/MeshEdit/removeMeshElements.cpp
@@ -24,10 +24,10 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
 #include "MeshLib/MeshEnums.h"
 #include "MeshLib/MeshSearch/ElementSearch.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
 
 template <typename PROPERTY_TYPE>
 void searchByPropertyValue(std::string const& property_name,
diff --git a/Applications/Utils/MeshEdit/reviseMesh.cpp b/Applications/Utils/MeshEdit/reviseMesh.cpp
index 1d9a78e8c57dfe75a9a8af9c00ae86656cb4e709..71502e0b4db9b5aa0fb2405e7528e7d3fbd4f983 100644
--- a/Applications/Utils/MeshEdit/reviseMesh.cpp
+++ b/Applications/Utils/MeshEdit/reviseMesh.cpp
@@ -24,8 +24,8 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/MeshRevision.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/MeshRevision.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshGeoTools/AssignRasterDataToMesh.cpp b/Applications/Utils/MeshGeoTools/AssignRasterDataToMesh.cpp
index b2d20d31ccf7f18255ffd18b467eff515645dfda..5454a394158cdba0708572f08828e7d536c7814b 100644
--- a/Applications/Utils/MeshGeoTools/AssignRasterDataToMesh.cpp
+++ b/Applications/Utils/MeshGeoTools/AssignRasterDataToMesh.cpp
@@ -23,7 +23,7 @@
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RasterDataToMesh.h"
+#include "MeshToolsLib/MeshEditing/RasterDataToMesh.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshGeoTools/Raster2Mesh.cpp b/Applications/Utils/MeshGeoTools/Raster2Mesh.cpp
index 70a69ead12071a90f72c95d0e958b11396f962ee..500119ddb12301525c280b21b3f9cfe3b5e2a808 100644
--- a/Applications/Utils/MeshGeoTools/Raster2Mesh.cpp
+++ b/Applications/Utils/MeshGeoTools/Raster2Mesh.cpp
@@ -23,7 +23,7 @@
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/MeshEnums.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/MeshGeoTools/VerticalSliceFromLayers.cpp b/Applications/Utils/MeshGeoTools/VerticalSliceFromLayers.cpp
index 8d93f4dce2c991de5aef5e93b75784451cdb1a3c..20c2b36531b0abcdcbfb79c7324015a927e913f7 100644
--- a/Applications/Utils/MeshGeoTools/VerticalSliceFromLayers.cpp
+++ b/Applications/Utils/MeshGeoTools/VerticalSliceFromLayers.cpp
@@ -41,11 +41,11 @@
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/MeshRevision.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
 #include "MeshLib/MeshSearch/ElementSearch.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/MeshRevision.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 /// creates a vector of sampling points based on the specified resolution
 std::vector<GeoLib::Point*> createPoints(MathLib::Point3d const& start,
diff --git a/Applications/Utils/MeshGeoTools/computeSurfaceNodeIDsInPolygonalRegion.cpp b/Applications/Utils/MeshGeoTools/computeSurfaceNodeIDsInPolygonalRegion.cpp
index 0752eb2a53611fe0782d6f7ca1d54e5f7f1e97a0..edbd440fbd0457c2f1f02387262c5f843fad7c74 100644
--- a/Applications/Utils/MeshGeoTools/computeSurfaceNodeIDsInPolygonalRegion.cpp
+++ b/Applications/Utils/MeshGeoTools/computeSurfaceNodeIDsInPolygonalRegion.cpp
@@ -30,8 +30,8 @@
 #include "InfoLib/GitInfo.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 void writeToFile(
     std::string const& id_area_fname, std::string const& csv_fname,
diff --git a/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp b/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
index dcf002eb672793182cd847cc728235fe35c4330a..06ef8e654c5e2d1824e971a0e8e346f73bee2b59 100644
--- a/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
+++ b/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
@@ -26,8 +26,8 @@
 #include "InfoLib/GitInfo.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 static void writeToFile(
     std::string const& id_area_fname, std::string const& csv_fname,
diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt b/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
index cf5a3745a20556b7746e5125981dc5765e23204c..7b24ebbdb015ef40bd610da089ff2d359c334a62 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
@@ -3,7 +3,7 @@ if(OGS_USE_MPI)
         binaryToPVTU BinaryToPVTU.cpp IntegrationPointDataTools.cpp NodeWiseMeshPartitioner.cpp
     )
     target_link_libraries(
-           binaryToPVTU GitInfoLib ProcessLib MeshLib tclap
+           binaryToPVTU GitInfoLib ProcessLib MeshLib MeshToolsLib tclap
         $<$<TARGET_EXISTS:MPI::MPI_CXX>:MPI::MPI_CXX> VTK::ParallelMPI
     )
     install(TARGETS binaryToPVTU RUNTIME DESTINATION bin)
@@ -12,6 +12,6 @@ endif()
 ogs_add_executable(
     partmesh PartitionMesh.cpp Metis.cpp IntegrationPointDataTools.cpp NodeWiseMeshPartitioner.cpp
 )
-target_link_libraries(partmesh GitInfoLib MeshLib tclap NumLib)
+target_link_libraries(partmesh GitInfoLib MeshLib MeshToolsLib tclap NumLib)
 add_dependencies(partmesh mpmetis)
 install(TARGETS partmesh RUNTIME DESTINATION bin)
diff --git a/Applications/Utils/PostProcessing/postLIE.cpp b/Applications/Utils/PostProcessing/postLIE.cpp
index 033abc9a6eb0c9d7814ac28ffc9144bc36fc06d3..84c41e57615761a8efc86603bd6ab4cd4c28f171 100644
--- a/Applications/Utils/PostProcessing/postLIE.cpp
+++ b/Applications/Utils/PostProcessing/postLIE.cpp
@@ -24,7 +24,7 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/ConvertToLinearMesh.h"
+#include "MeshToolsLib/MeshEditing/ConvertToLinearMesh.h"
 #include "ProcessLib/LIE/Common/MeshUtils.h"
 #include "ProcessLib/LIE/Common/PostUtils.h"
 
diff --git a/Applications/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp b/Applications/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
index 2259f1cede1f880dd9ef736750837a1de1a5df67..7b634b20322eff1d57c1292f75a3ef2346fda5af 100644
--- a/Applications/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
+++ b/Applications/Utils/SimpleMeshCreation/createMeshElemPropertiesFromASCRaster.cpp
@@ -31,9 +31,9 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.h"
 #include "MeshLib/MeshEnums.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
+#include "MeshToolsLib/MeshEditing/Mesh2MeshPropertyInterpolation.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
 
 int main(int argc, char* argv[])
 {
diff --git a/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp b/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp
index 7b094b41629c9f0313ce4954cc87a35d82c7e279..dc48ac514538fefa0807d5adfbe4ba72583649a2 100644
--- a/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp
+++ b/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp
@@ -27,8 +27,8 @@
 #include "MeshLib/IO/writeMeshToFile.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/MeshEnums.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 namespace
 {
diff --git a/MeshGeoToolsLib/GeoMapper.cpp b/MeshGeoToolsLib/GeoMapper.cpp
index 0084f6ee3c2f729f9e0897248ae53caba1651d90..bd2162ea9fdce2999aa002fd658aeaa3c1b9bf3a 100644
--- a/MeshGeoToolsLib/GeoMapper.cpp
+++ b/MeshGeoToolsLib/GeoMapper.cpp
@@ -29,8 +29,8 @@
 #include "MeshLib/Elements/FaceRule.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/MeshSearch/MeshElementGrid.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 namespace MeshGeoToolsLib
 {
diff --git a/MeshLib/CMakeLists.txt b/MeshLib/CMakeLists.txt
index 8cedade789ffc1fd5371dc2f669bdaafb217b221..5bd9bae01e24fed1200779040f306d367235095b 100644
--- a/MeshLib/CMakeLists.txt
+++ b/MeshLib/CMakeLists.txt
@@ -5,8 +5,6 @@ if(NOT OGS_USE_PETSC)
     list(REMOVE_ITEM SOURCES NodePartitionedMesh.h)
 endif()
 
-append_source_files(SOURCES MeshEditing)
-append_source_files(SOURCES MeshGenerators)
 append_source_files(SOURCES MeshSearch)
 append_source_files(SOURCES Elements)
 append_source_files(SOURCES IO)
@@ -24,7 +22,6 @@ else()
     append_source_files(SOURCES IO/XDMF/posix)
 endif()
 
-append_source_files(SOURCES MeshQuality)
 append_source_files(SOURCES Vtk)
 
 # It could be used for other MPI based DDC approach in future.
diff --git a/MeshToolsLib/CMakeLists.txt b/MeshToolsLib/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..429e0e29e3b0c446cee535be6a9f5764946bd7a7
--- /dev/null
+++ b/MeshToolsLib/CMakeLists.txt
@@ -0,0 +1,23 @@
+# Source files
+get_source_files(SOURCES)
+
+append_source_files(SOURCES MeshEditing)
+append_source_files(SOURCES MeshGenerators)
+append_source_files(SOURCES MeshQuality)
+
+# Create the library
+ogs_add_library(MeshToolsLib ${SOURCES})
+
+target_link_libraries(
+    MeshToolsLib PUBLIC MeshLib
+                        range-v3
+                        VTK::IOXML
+                        VTK::IOLegacy
+                        $<$<TARGET_EXISTS:VTK::IOParallelXML>:VTK::IOParallelXML>
+                        $<$<TARGET_EXISTS:VTK::ParallelMPI>:VTK::ParallelMPI>
+                 PRIVATE BaseLib MathLib GitInfoLib
+)
+
+target_precompile_headers(MeshToolsLib PRIVATE [["BaseLib/Error.h"]]
+    [["BaseLib/ConfigTree.h"]] [["BaseLib/Logging.h"]] [["MeshLib/Mesh.h"]]
+    [["MeshLib/Elements/Element.h"]])
diff --git a/MeshLib/MeshEditing/AddLayerToMesh.cpp b/MeshToolsLib/MeshEditing/AddLayerToMesh.cpp
similarity index 98%
rename from MeshLib/MeshEditing/AddLayerToMesh.cpp
rename to MeshToolsLib/MeshEditing/AddLayerToMesh.cpp
index 6b14df539f5c7ad02c0247a9bf694c162b1821c2..09838d00bf88c2181e1d8f2a1a6aa2cb26bfbbab 100644
--- a/MeshLib/MeshEditing/AddLayerToMesh.cpp
+++ b/MeshToolsLib/MeshEditing/AddLayerToMesh.cpp
@@ -22,9 +22,9 @@
 #include "FlipElements.h"
 #include "MeshLib/Elements/Elements.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Utils/DuplicateMeshComponents.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 namespace MeshLib
 {
@@ -53,8 +53,8 @@ MeshLib::Element* extrudeElement(
     }
 
     const unsigned nElemNodes(sfc_elem.getNumberOfBaseNodes());
-    auto new_nodes = std::unique_ptr<MeshLib::Node* []>
-    { new MeshLib::Node*[2 * nElemNodes] };
+    auto new_nodes =
+        std::unique_ptr<MeshLib::Node*[]>{new MeshLib::Node*[2 * nElemNodes]};
 
     for (unsigned j = 0; j < nElemNodes; ++j)
     {
diff --git a/MeshLib/MeshEditing/AddLayerToMesh.h b/MeshToolsLib/MeshEditing/AddLayerToMesh.h
similarity index 100%
rename from MeshLib/MeshEditing/AddLayerToMesh.h
rename to MeshToolsLib/MeshEditing/AddLayerToMesh.h
diff --git a/MeshLib/MeshEditing/ConvertToLinearMesh.cpp b/MeshToolsLib/MeshEditing/ConvertToLinearMesh.cpp
similarity index 100%
rename from MeshLib/MeshEditing/ConvertToLinearMesh.cpp
rename to MeshToolsLib/MeshEditing/ConvertToLinearMesh.cpp
diff --git a/MeshLib/MeshEditing/ConvertToLinearMesh.h b/MeshToolsLib/MeshEditing/ConvertToLinearMesh.h
similarity index 100%
rename from MeshLib/MeshEditing/ConvertToLinearMesh.h
rename to MeshToolsLib/MeshEditing/ConvertToLinearMesh.h
diff --git a/MeshLib/MeshEditing/ElementValueModification.cpp b/MeshToolsLib/MeshEditing/ElementValueModification.cpp
similarity index 100%
rename from MeshLib/MeshEditing/ElementValueModification.cpp
rename to MeshToolsLib/MeshEditing/ElementValueModification.cpp
diff --git a/MeshLib/MeshEditing/ElementValueModification.h b/MeshToolsLib/MeshEditing/ElementValueModification.h
similarity index 100%
rename from MeshLib/MeshEditing/ElementValueModification.h
rename to MeshToolsLib/MeshEditing/ElementValueModification.h
diff --git a/MeshLib/MeshEditing/FlipElements.cpp b/MeshToolsLib/MeshEditing/FlipElements.cpp
similarity index 100%
rename from MeshLib/MeshEditing/FlipElements.cpp
rename to MeshToolsLib/MeshEditing/FlipElements.cpp
diff --git a/MeshLib/MeshEditing/FlipElements.h b/MeshToolsLib/MeshEditing/FlipElements.h
similarity index 100%
rename from MeshLib/MeshEditing/FlipElements.h
rename to MeshToolsLib/MeshEditing/FlipElements.h
diff --git a/MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.cpp b/MeshToolsLib/MeshEditing/Mesh2MeshPropertyInterpolation.cpp
similarity index 100%
rename from MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.cpp
rename to MeshToolsLib/MeshEditing/Mesh2MeshPropertyInterpolation.cpp
diff --git a/MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.h b/MeshToolsLib/MeshEditing/Mesh2MeshPropertyInterpolation.h
similarity index 100%
rename from MeshLib/MeshEditing/Mesh2MeshPropertyInterpolation.h
rename to MeshToolsLib/MeshEditing/Mesh2MeshPropertyInterpolation.h
diff --git a/MeshLib/MeshEditing/MeshRevision.cpp b/MeshToolsLib/MeshEditing/MeshRevision.cpp
similarity index 100%
rename from MeshLib/MeshEditing/MeshRevision.cpp
rename to MeshToolsLib/MeshEditing/MeshRevision.cpp
diff --git a/MeshLib/MeshEditing/MeshRevision.h b/MeshToolsLib/MeshEditing/MeshRevision.h
similarity index 100%
rename from MeshLib/MeshEditing/MeshRevision.h
rename to MeshToolsLib/MeshEditing/MeshRevision.h
diff --git a/MeshLib/MeshEditing/ProjectPointOnMesh.cpp b/MeshToolsLib/MeshEditing/ProjectPointOnMesh.cpp
similarity index 100%
rename from MeshLib/MeshEditing/ProjectPointOnMesh.cpp
rename to MeshToolsLib/MeshEditing/ProjectPointOnMesh.cpp
diff --git a/MeshLib/MeshEditing/ProjectPointOnMesh.h b/MeshToolsLib/MeshEditing/ProjectPointOnMesh.h
similarity index 100%
rename from MeshLib/MeshEditing/ProjectPointOnMesh.h
rename to MeshToolsLib/MeshEditing/ProjectPointOnMesh.h
diff --git a/MeshLib/MeshEditing/RasterDataToMesh.cpp b/MeshToolsLib/MeshEditing/RasterDataToMesh.cpp
similarity index 100%
rename from MeshLib/MeshEditing/RasterDataToMesh.cpp
rename to MeshToolsLib/MeshEditing/RasterDataToMesh.cpp
diff --git a/MeshLib/MeshEditing/RasterDataToMesh.h b/MeshToolsLib/MeshEditing/RasterDataToMesh.h
similarity index 100%
rename from MeshLib/MeshEditing/RasterDataToMesh.h
rename to MeshToolsLib/MeshEditing/RasterDataToMesh.h
diff --git a/MeshLib/MeshEditing/RemoveMeshComponents.cpp b/MeshToolsLib/MeshEditing/RemoveMeshComponents.cpp
similarity index 100%
rename from MeshLib/MeshEditing/RemoveMeshComponents.cpp
rename to MeshToolsLib/MeshEditing/RemoveMeshComponents.cpp
diff --git a/MeshLib/MeshEditing/RemoveMeshComponents.h b/MeshToolsLib/MeshEditing/RemoveMeshComponents.h
similarity index 100%
rename from MeshLib/MeshEditing/RemoveMeshComponents.h
rename to MeshToolsLib/MeshEditing/RemoveMeshComponents.h
diff --git a/MeshLib/MeshEditing/moveMeshNodes.h b/MeshToolsLib/MeshEditing/moveMeshNodes.h
similarity index 100%
rename from MeshLib/MeshEditing/moveMeshNodes.h
rename to MeshToolsLib/MeshEditing/moveMeshNodes.h
diff --git a/MeshLib/MeshGenerators/LayeredMeshGenerator.cpp b/MeshToolsLib/MeshGenerators/LayeredMeshGenerator.cpp
similarity index 97%
rename from MeshLib/MeshGenerators/LayeredMeshGenerator.cpp
rename to MeshToolsLib/MeshGenerators/LayeredMeshGenerator.cpp
index 7f1a9a0e35c2f7c00502801f7fc2369a815e1694..b293d063aab8d7827ef58bc4979e8f2a8cb2f3a7 100644
--- a/MeshLib/MeshGenerators/LayeredMeshGenerator.cpp
+++ b/MeshToolsLib/MeshGenerators/LayeredMeshGenerator.cpp
@@ -21,12 +21,12 @@
 #include "GeoLib/Raster.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
-#include "MeshLib/MeshInformation.h"
 #include "MeshLib/MeshSearch/NodeSearch.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Properties.h"
 #include "MeshLib/PropertyVector.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 bool LayeredMeshGenerator::createLayers(
     MeshLib::Mesh const& mesh,
diff --git a/MeshLib/MeshGenerators/LayeredMeshGenerator.h b/MeshToolsLib/MeshGenerators/LayeredMeshGenerator.h
similarity index 100%
rename from MeshLib/MeshGenerators/LayeredMeshGenerator.h
rename to MeshToolsLib/MeshGenerators/LayeredMeshGenerator.h
diff --git a/MeshLib/MeshGenerators/LayeredVolume.cpp b/MeshToolsLib/MeshGenerators/LayeredVolume.cpp
similarity index 98%
rename from MeshLib/MeshGenerators/LayeredVolume.cpp
rename to MeshToolsLib/MeshGenerators/LayeredVolume.cpp
index 9f3a4a07fa5fdd131d2072e1fec49ef7654fd364..a3a50d8d1d534b0b4b28d04dd06c34ff1118cde2 100644
--- a/MeshLib/MeshGenerators/LayeredVolume.cpp
+++ b/MeshToolsLib/MeshGenerators/LayeredVolume.cpp
@@ -18,10 +18,11 @@
 #include "MeshLayerMapper.h"
 #include "MeshLib/Elements/Quad.h"
 #include "MeshLib/Elements/Tri.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
 #include "MeshLib/MeshSearch/ElementSearch.h"
 #include "MeshLib/Properties.h"
 #include "MeshLib/Utils/DuplicateMeshComponents.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshLayerMapper.h"
 
 bool LayeredVolume::createRasterLayers(
     const MeshLib::Mesh& mesh,
diff --git a/MeshLib/MeshGenerators/LayeredVolume.h b/MeshToolsLib/MeshGenerators/LayeredVolume.h
similarity index 100%
rename from MeshLib/MeshGenerators/LayeredVolume.h
rename to MeshToolsLib/MeshGenerators/LayeredVolume.h
diff --git a/MeshLib/MeshGenerators/MeshGenerator.cpp b/MeshToolsLib/MeshGenerators/MeshGenerator.cpp
similarity index 99%
rename from MeshLib/MeshGenerators/MeshGenerator.cpp
rename to MeshToolsLib/MeshGenerators/MeshGenerator.cpp
index 598067f717fcc7a07eb86b0b3ec251f2ecec27fe..d33f116034976040942149fd6a6d276f7bf62f15 100644
--- a/MeshLib/MeshGenerators/MeshGenerator.cpp
+++ b/MeshToolsLib/MeshGenerators/MeshGenerator.cpp
@@ -19,9 +19,9 @@
 #include "MeshLib/Elements/Quad.h"
 #include "MeshLib/Elements/Tet.h"
 #include "MeshLib/Elements/Tri.h"
-#include "MeshLib/MeshEditing/AddLayerToMesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/AddLayerToMesh.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
 
 namespace MeshLib
 {
diff --git a/MeshLib/MeshGenerators/MeshGenerator.h b/MeshToolsLib/MeshGenerators/MeshGenerator.h
similarity index 100%
rename from MeshLib/MeshGenerators/MeshGenerator.h
rename to MeshToolsLib/MeshGenerators/MeshGenerator.h
diff --git a/MeshLib/MeshGenerators/MeshLayerMapper.cpp b/MeshToolsLib/MeshGenerators/MeshLayerMapper.cpp
similarity index 99%
rename from MeshLib/MeshGenerators/MeshLayerMapper.cpp
rename to MeshToolsLib/MeshGenerators/MeshLayerMapper.cpp
index a5f64449ce7e572b89b0fee27a7947402589c00d..aa668a4e58557e9dbe8efc7f73ff1d727f43522e 100644
--- a/MeshLib/MeshGenerators/MeshLayerMapper.cpp
+++ b/MeshToolsLib/MeshGenerators/MeshLayerMapper.cpp
@@ -23,8 +23,8 @@
 #include "MeshLib/Elements/Prism.h"
 #include "MeshLib/Elements/Pyramid.h"
 #include "MeshLib/Elements/Tet.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Properties.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 namespace MeshLib
 {
diff --git a/MeshLib/MeshGenerators/MeshLayerMapper.h b/MeshToolsLib/MeshGenerators/MeshLayerMapper.h
similarity index 100%
rename from MeshLib/MeshGenerators/MeshLayerMapper.h
rename to MeshToolsLib/MeshGenerators/MeshLayerMapper.h
diff --git a/MeshLib/MeshGenerators/QuadraticMeshGenerator.cpp b/MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.cpp
similarity index 100%
rename from MeshLib/MeshGenerators/QuadraticMeshGenerator.cpp
rename to MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.cpp
diff --git a/MeshLib/MeshGenerators/QuadraticMeshGenerator.h b/MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.h
similarity index 100%
rename from MeshLib/MeshGenerators/QuadraticMeshGenerator.h
rename to MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.h
diff --git a/MeshLib/MeshGenerators/RasterToMesh.cpp b/MeshToolsLib/MeshGenerators/RasterToMesh.cpp
similarity index 98%
rename from MeshLib/MeshGenerators/RasterToMesh.cpp
rename to MeshToolsLib/MeshGenerators/RasterToMesh.cpp
index fef0d7cf17f6be0ff2a7deba58c79df6fc03b52e..6e4fa4583422808cecac578cddab003e8dd4de2e 100644
--- a/MeshLib/MeshGenerators/RasterToMesh.cpp
+++ b/MeshToolsLib/MeshGenerators/RasterToMesh.cpp
@@ -21,9 +21,10 @@
 #include "MeshGenerator.h"
 #include "MeshLib/Elements/Elements.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
 #include "MeshLib/MeshSearch/ElementSearch.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 namespace MeshLib
 {
diff --git a/MeshLib/MeshGenerators/RasterToMesh.h b/MeshToolsLib/MeshGenerators/RasterToMesh.h
similarity index 100%
rename from MeshLib/MeshGenerators/RasterToMesh.h
rename to MeshToolsLib/MeshGenerators/RasterToMesh.h
diff --git a/MeshLib/MeshGenerators/VoxelGridFromLayeredMeshes.cpp b/MeshToolsLib/MeshGenerators/VoxelGridFromLayeredMeshes.cpp
similarity index 95%
rename from MeshLib/MeshGenerators/VoxelGridFromLayeredMeshes.cpp
rename to MeshToolsLib/MeshGenerators/VoxelGridFromLayeredMeshes.cpp
index e19851557d707d3801d27748858f731bf9ce45f6..ef9c012ee9192cdd424677c08b526f39e1738760 100644
--- a/MeshLib/MeshGenerators/VoxelGridFromLayeredMeshes.cpp
+++ b/MeshToolsLib/MeshGenerators/VoxelGridFromLayeredMeshes.cpp
@@ -60,7 +60,7 @@ std::unique_ptr<MeshLib::Mesh> generateInitialMesh(
 }
 
 // returns the element the given node is projected on (or nullptr otherwise)
-MeshLib::Element const* getProjectedElement(
+MeshToolsLib::Element const* getProjectedElement(
     MeshLib::MeshElementGrid const& grid,
     MathLib::Point3d const& node,
     double const max_edge)
@@ -196,12 +196,12 @@ std::vector<std::size_t> markSpecificElements(MeshLib::Mesh const& mesh,
 }
 
 // Creates a VoxelGrid after extending the AABB for each layer.
-std::unique_ptr<MeshLib::Mesh>
-MeshLib::MeshGenerators::VoxelFromLayeredMeshes::createVoxelFromLayeredMesh(
-    std::pair<MathLib::Point3d, MathLib::Point3d>& extent,
-    std::vector<MeshLib::Mesh const*> const& layers,
-    std::array<double, 3> const cellsize,
-    bool const dilate)
+std::unique_ptr<MeshLib::Mesh> MeshToolsLib::MeshGenerators::
+    VoxelFromLayeredMeshes::createVoxelFromLayeredMesh(
+        std::pair<MathLib::Point3d, MathLib::Point3d>& extent,
+        std::vector<MeshLib::Mesh const*> const& layers,
+        std::array<double, 3> const cellsize,
+        bool const dilate)
 {
     for (auto const& layer : layers)
     {
diff --git a/MeshLib/MeshGenerators/VoxelGridFromLayeredMeshes.h b/MeshToolsLib/MeshGenerators/VoxelGridFromLayeredMeshes.h
similarity index 79%
rename from MeshLib/MeshGenerators/VoxelGridFromLayeredMeshes.h
rename to MeshToolsLib/MeshGenerators/VoxelGridFromLayeredMeshes.h
index 494be440004100443279e74369fa071e95585bb8..493c816f740c7e94a990b987ba7e6e9b7c1ac51e 100644
--- a/MeshLib/MeshGenerators/VoxelGridFromLayeredMeshes.h
+++ b/MeshToolsLib/MeshGenerators/VoxelGridFromLayeredMeshes.h
@@ -11,12 +11,12 @@
 #pragma once
 
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/ProjectPointOnMesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/MeshSearch/MeshElementGrid.h"
+#include "MeshToolsLib/MeshEditing/ProjectPointOnMesh.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
-namespace MeshLib::MeshGenerators::VoxelFromLayeredMeshes
+namespace MeshToolsLib::MeshGenerators::VoxelFromLayeredMeshes
 {
 
 /**
@@ -37,4 +37,4 @@ std::unique_ptr<MeshLib::Mesh> createVoxelFromLayeredMesh(
     std::vector<MeshLib::Mesh const*> const& layers,
     std::array<double, 3> const cellsize,
     bool const dilate);
-}  // namespace MeshLib::MeshGenerators::VoxelFromLayeredMeshes
\ No newline at end of file
+}  // namespace MeshToolsLib::MeshGenerators::VoxelFromLayeredMeshes
\ No newline at end of file
diff --git a/MeshLib/MeshInformation.cpp b/MeshToolsLib/MeshInformation.cpp
similarity index 98%
rename from MeshLib/MeshInformation.cpp
rename to MeshToolsLib/MeshInformation.cpp
index d0aca02cb19605c7b5f81362e78602d1373da212..c03737b0117f60a390eb7e1874bc75ad71de4819 100644
--- a/MeshLib/MeshInformation.cpp
+++ b/MeshToolsLib/MeshInformation.cpp
@@ -14,8 +14,8 @@
 
 #include "MeshInformation.h"
 
-#include "Elements/Element.h"
-#include "MeshLib/MeshQuality/MeshValidation.h"
+#include "MeshLib/Elements/Element.h"
+#include "MeshQuality/MeshValidation.h"
 
 namespace
 {
diff --git a/MeshLib/MeshInformation.h b/MeshToolsLib/MeshInformation.h
similarity index 100%
rename from MeshLib/MeshInformation.h
rename to MeshToolsLib/MeshInformation.h
diff --git a/MeshLib/MeshQuality/AngleSkewMetric.cpp b/MeshToolsLib/MeshQuality/AngleSkewMetric.cpp
similarity index 100%
rename from MeshLib/MeshQuality/AngleSkewMetric.cpp
rename to MeshToolsLib/MeshQuality/AngleSkewMetric.cpp
diff --git a/MeshLib/MeshQuality/AngleSkewMetric.h b/MeshToolsLib/MeshQuality/AngleSkewMetric.h
similarity index 100%
rename from MeshLib/MeshQuality/AngleSkewMetric.h
rename to MeshToolsLib/MeshQuality/AngleSkewMetric.h
diff --git a/MeshLib/MeshQuality/EdgeRatioMetric.cpp b/MeshToolsLib/MeshQuality/EdgeRatioMetric.cpp
similarity index 100%
rename from MeshLib/MeshQuality/EdgeRatioMetric.cpp
rename to MeshToolsLib/MeshQuality/EdgeRatioMetric.cpp
diff --git a/MeshLib/MeshQuality/EdgeRatioMetric.h b/MeshToolsLib/MeshQuality/EdgeRatioMetric.h
similarity index 100%
rename from MeshLib/MeshQuality/EdgeRatioMetric.h
rename to MeshToolsLib/MeshQuality/EdgeRatioMetric.h
diff --git a/MeshLib/MeshQuality/ElementQualityInterface.h b/MeshToolsLib/MeshQuality/ElementQualityInterface.h
similarity index 90%
rename from MeshLib/MeshQuality/ElementQualityInterface.h
rename to MeshToolsLib/MeshQuality/ElementQualityInterface.h
index 2338eef3a52dfda31d3ba1226836744ae73d43cb..c943d757fee22065eccc37bc7dd64a536b3a1f0e 100644
--- a/MeshLib/MeshQuality/ElementQualityInterface.h
+++ b/MeshToolsLib/MeshQuality/ElementQualityInterface.h
@@ -17,14 +17,14 @@
 #include <memory>
 #include <vector>
 
-#include "AngleSkewMetric.h"
 #include "BaseLib/Histogram.h"
-#include "EdgeRatioMetric.h"
-#include "ElementQualityMetric.h"
-#include "ElementSizeMetric.h"
 #include "MeshLib/Mesh.h"
-#include "RadiusEdgeRatioMetric.h"
-#include "SizeDifferenceMetric.h"
+#include "MeshToolsLib/MeshQuality/AngleSkewMetric.h"
+#include "MeshToolsLib/MeshQuality/EdgeRatioMetric.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityMetric.h"
+#include "MeshToolsLib/MeshQuality/ElementSizeMetric.h"
+#include "MeshToolsLib/MeshQuality/RadiusEdgeRatioMetric.h"
+#include "MeshToolsLib/MeshQuality/SizeDifferenceMetric.h"
 
 namespace MeshLib
 {
diff --git a/MeshLib/MeshQuality/ElementQualityMetric.cpp b/MeshToolsLib/MeshQuality/ElementQualityMetric.cpp
similarity index 100%
rename from MeshLib/MeshQuality/ElementQualityMetric.cpp
rename to MeshToolsLib/MeshQuality/ElementQualityMetric.cpp
diff --git a/MeshLib/MeshQuality/ElementQualityMetric.h b/MeshToolsLib/MeshQuality/ElementQualityMetric.h
similarity index 100%
rename from MeshLib/MeshQuality/ElementQualityMetric.h
rename to MeshToolsLib/MeshQuality/ElementQualityMetric.h
diff --git a/MeshLib/MeshQuality/ElementSizeMetric.cpp b/MeshToolsLib/MeshQuality/ElementSizeMetric.cpp
similarity index 100%
rename from MeshLib/MeshQuality/ElementSizeMetric.cpp
rename to MeshToolsLib/MeshQuality/ElementSizeMetric.cpp
diff --git a/MeshLib/MeshQuality/ElementSizeMetric.h b/MeshToolsLib/MeshQuality/ElementSizeMetric.h
similarity index 100%
rename from MeshLib/MeshQuality/ElementSizeMetric.h
rename to MeshToolsLib/MeshQuality/ElementSizeMetric.h
diff --git a/MeshLib/MeshQuality/MeshValidation.cpp b/MeshToolsLib/MeshQuality/MeshValidation.cpp
similarity index 98%
rename from MeshLib/MeshQuality/MeshValidation.cpp
rename to MeshToolsLib/MeshQuality/MeshValidation.cpp
index b07f1a5a294eed3d3c4b88d0d32cf9c3cbdde321..b9a739d6450bc4ef2f0ed472e892627e18fa89fb 100644
--- a/MeshLib/MeshQuality/MeshValidation.cpp
+++ b/MeshToolsLib/MeshQuality/MeshValidation.cpp
@@ -21,10 +21,10 @@
 #include "BaseLib/Logging.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/MeshRevision.h"
 #include "MeshLib/MeshSearch/NodeSearch.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/MeshRevision.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 namespace MeshLib
 {
diff --git a/MeshLib/MeshQuality/MeshValidation.h b/MeshToolsLib/MeshQuality/MeshValidation.h
similarity index 100%
rename from MeshLib/MeshQuality/MeshValidation.h
rename to MeshToolsLib/MeshQuality/MeshValidation.h
diff --git a/MeshLib/MeshQuality/RadiusEdgeRatioMetric.cpp b/MeshToolsLib/MeshQuality/RadiusEdgeRatioMetric.cpp
similarity index 100%
rename from MeshLib/MeshQuality/RadiusEdgeRatioMetric.cpp
rename to MeshToolsLib/MeshQuality/RadiusEdgeRatioMetric.cpp
diff --git a/MeshLib/MeshQuality/RadiusEdgeRatioMetric.h b/MeshToolsLib/MeshQuality/RadiusEdgeRatioMetric.h
similarity index 100%
rename from MeshLib/MeshQuality/RadiusEdgeRatioMetric.h
rename to MeshToolsLib/MeshQuality/RadiusEdgeRatioMetric.h
diff --git a/MeshLib/MeshQuality/SizeDifferenceMetric.cpp b/MeshToolsLib/MeshQuality/SizeDifferenceMetric.cpp
similarity index 100%
rename from MeshLib/MeshQuality/SizeDifferenceMetric.cpp
rename to MeshToolsLib/MeshQuality/SizeDifferenceMetric.cpp
diff --git a/MeshLib/MeshQuality/SizeDifferenceMetric.h b/MeshToolsLib/MeshQuality/SizeDifferenceMetric.h
similarity index 100%
rename from MeshLib/MeshQuality/SizeDifferenceMetric.h
rename to MeshToolsLib/MeshQuality/SizeDifferenceMetric.h
diff --git a/MeshLib/MeshSurfaceExtraction.cpp b/MeshToolsLib/MeshSurfaceExtraction.cpp
similarity index 99%
rename from MeshLib/MeshSurfaceExtraction.cpp
rename to MeshToolsLib/MeshSurfaceExtraction.cpp
index 4a882121e9da697022367bec83fc38a535ad21d3..555c9effef5a29959f697d607522bc6c3500a8e2 100644
--- a/MeshLib/MeshSurfaceExtraction.cpp
+++ b/MeshToolsLib/MeshSurfaceExtraction.cpp
@@ -23,9 +23,9 @@
 #include "MeshLib/Elements/Quad.h"
 #include "MeshLib/Elements/Tri.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
 #include "MeshLib/MeshSearch/NodeSearch.h"
 #include "MeshLib/Utils/DuplicateMeshComponents.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
 
 namespace MeshLib
 {
diff --git a/MeshLib/MeshSurfaceExtraction.h b/MeshToolsLib/MeshSurfaceExtraction.h
similarity index 100%
rename from MeshLib/MeshSurfaceExtraction.h
rename to MeshToolsLib/MeshSurfaceExtraction.h
diff --git a/MeshLib/convertMeshToGeo.cpp b/MeshToolsLib/convertMeshToGeo.cpp
similarity index 96%
rename from MeshLib/convertMeshToGeo.cpp
rename to MeshToolsLib/convertMeshToGeo.cpp
index 8d93959e5c2d06638c6bec998bb33e5511e767dd..eea4d650db9f34845b2ca3a0a5b89eeba4fbc0be 100644
--- a/MeshLib/convertMeshToGeo.cpp
+++ b/MeshToolsLib/convertMeshToGeo.cpp
@@ -15,14 +15,14 @@
 #include "convertMeshToGeo.h"
 
 #include "BaseLib/Logging.h"
-#include "Elements/Quad.h"
-#include "Elements/Tri.h"
 #include "GeoLib/GEOObjects.h"
 #include "GeoLib/Surface.h"
 #include "GeoLib/Triangle.h"
-#include "Mesh.h"
-#include "MeshEditing/MeshRevision.h"
-#include "MeshInformation.h"
+#include "MeshLib/Elements/Quad.h"
+#include "MeshLib/Elements/Tri.h"
+#include "MeshLib/Mesh.h"
+#include "MeshToolsLib/MeshEditing/MeshRevision.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 namespace
 {
diff --git a/MeshLib/convertMeshToGeo.h b/MeshToolsLib/convertMeshToGeo.h
similarity index 100%
rename from MeshLib/convertMeshToGeo.h
rename to MeshToolsLib/convertMeshToGeo.h
diff --git a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp
index 37fa1296607b17d598db4ce9eec941670db90e00..afc3fb6f02504e5b0b38a6b2d00e2c94fde97569 100644
--- a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp
+++ b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp
@@ -18,8 +18,8 @@
 #include "MeshLib/ElementStatus.h"
 #include "MeshLib/Elements/Utils.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshInformation.h"
 #include "MeshLib/Properties.h"
+#include "MeshToolsLib/MeshInformation.h"
 #include "NumLib/DOF/DOFTableUtil.h"
 #include "NumLib/DOF/LocalToGlobalIndexMap.h"
 #include "ParameterLib/MeshElementParameter.h"
diff --git a/Tests/FileIO/TestGmsInterface.cpp b/Tests/FileIO/TestGmsInterface.cpp
index 160d2ff5b30f9ae641e81b87ad037958368ac6e9..e3526efc461aeee6a24836f7502e32a109fca467 100644
--- a/Tests/FileIO/TestGmsInterface.cpp
+++ b/Tests/FileIO/TestGmsInterface.cpp
@@ -15,7 +15,7 @@
 #include "Applications/FileIO/GMSInterface.h"
 #include "InfoLib/TestInfo.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshInformation.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 TEST(FileIO, TestGms2DInterface)
 {
diff --git a/Tests/FileIO/TestTetGenInterface.cpp b/Tests/FileIO/TestTetGenInterface.cpp
index dad5531a4bf5240db41dcb61947f0ffa90452d4d..06d7adef44f351e2a207c1d594ce49e6b1d4f8de 100644
--- a/Tests/FileIO/TestTetGenInterface.cpp
+++ b/Tests/FileIO/TestTetGenInterface.cpp
@@ -25,8 +25,8 @@
 #include "InfoLib/TestInfo.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshInformation.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 // read TetGen geometry
 TEST(FileIO, TetGenSmeshReader)
diff --git a/Tests/GeoLib/TestSurfaceIsPointInSurface.cpp b/Tests/GeoLib/TestSurfaceIsPointInSurface.cpp
index bb6bc7b3c0415da6a26c84cf173459a3927e3ced..79794c7d7d2cede806f962d424e8c91da5ed15dd 100644
--- a/Tests/GeoLib/TestSurfaceIsPointInSurface.cpp
+++ b/Tests/GeoLib/TestSurfaceIsPointInSurface.cpp
@@ -24,9 +24,9 @@
 #include "GeoLib/Triangle.h"
 #include "MathLib/Point3d.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
-#include "MeshLib/convertMeshToGeo.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/convertMeshToGeo.h"
 
 inline double constant(double /*unused*/, double /*unused*/)
 {
diff --git a/Tests/MeshGeoToolsLib/TestConstructAdditionalMeshesFromGeoObjects.cpp b/Tests/MeshGeoToolsLib/TestConstructAdditionalMeshesFromGeoObjects.cpp
index af94c0233c22d3fcd16527d1abecec2e6cb85358..e9538ce931f55bf53f4be248c92fb66a0f81fc19 100644
--- a/Tests/MeshGeoToolsLib/TestConstructAdditionalMeshesFromGeoObjects.cpp
+++ b/Tests/MeshGeoToolsLib/TestConstructAdditionalMeshesFromGeoObjects.cpp
@@ -22,7 +22,7 @@
 #include "MeshLib/NodePartitionedMesh.h"
 #endif
 
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #include "Tests/GeoLib/CreateTestPoints.h"
 
 TEST(ConstructAdditionalMeshesFromGeoObjects, PointMesh)
diff --git a/Tests/MeshGeoToolsLib/TestGeoMapper.cpp b/Tests/MeshGeoToolsLib/TestGeoMapper.cpp
index 425a79cb777f5302e18676d837eb1313fcd457e3..f999976c19d9e6a705562cf65ac6affa88fec1d2 100644
--- a/Tests/MeshGeoToolsLib/TestGeoMapper.cpp
+++ b/Tests/MeshGeoToolsLib/TestGeoMapper.cpp
@@ -16,7 +16,7 @@
 #include "GeoLib/Point.h"
 #include "MeshGeoToolsLib/GeoMapper.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #include "Tests/AutoCheckTools.h"
 
 namespace ac = autocheck;
diff --git a/Tests/MeshLib/ConvertToLinearMesh.cpp b/Tests/MeshLib/ConvertToLinearMesh.cpp
index f6c23fd9d5b66fd09246180d2cb946d09d0be9de..6fb1b7ba7a1ad74b76238cf38700364f213c39f6 100644
--- a/Tests/MeshLib/ConvertToLinearMesh.cpp
+++ b/Tests/MeshLib/ConvertToLinearMesh.cpp
@@ -7,7 +7,7 @@
  *              http://www.opengeosys.org/project/license
  */
 
-#include "MeshLib/MeshEditing/ConvertToLinearMesh.h"
+#include "MeshToolsLib/MeshEditing/ConvertToLinearMesh.h"
 
 #include <gtest/gtest.h>
 
@@ -18,9 +18,9 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshGenerators/QuadraticMeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.h"
 
 using namespace MeshLib;
 using namespace std::string_literals;
diff --git a/Tests/MeshLib/MeshProperties.cpp b/Tests/MeshLib/MeshProperties.cpp
index 21374f5765da09515b1ed123f7c9ad7de6216953..750025438a0a6e0979f00efa8fe3a5c0bfc5c69e 100644
--- a/Tests/MeshLib/MeshProperties.cpp
+++ b/Tests/MeshLib/MeshProperties.cpp
@@ -14,8 +14,8 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/PropertyVector.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 class MeshLibProperties : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestAddLayerToMesh.cpp b/Tests/MeshLib/TestAddLayerToMesh.cpp
index 32f2dbc1d8ef1d689fbac934cc5d58c95b71c81c..b36d08fc3b50a69d886da2ce76dfb6397ec45f96 100644
--- a/Tests/MeshLib/TestAddLayerToMesh.cpp
+++ b/Tests/MeshLib/TestAddLayerToMesh.cpp
@@ -13,12 +13,12 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/AddLayerToMesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshInformation.h"
-#include "MeshLib/MeshQuality/MeshValidation.h"
-#include "MeshLib/MeshSurfaceExtraction.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/AddLayerToMesh.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshInformation.h"
+#include "MeshToolsLib/MeshQuality/MeshValidation.h"
+#include "MeshToolsLib/MeshSurfaceExtraction.h"
 
 namespace AddLayerValidation
 {
diff --git a/Tests/MeshLib/TestBoundaryElementSearch.cpp b/Tests/MeshLib/TestBoundaryElementSearch.cpp
index c6fdda0cd846ab9ec416c9a22aae19059e03a149..fe8c82275abbf7f5b7c1313515925dfddd6fc259 100644
--- a/Tests/MeshLib/TestBoundaryElementSearch.cpp
+++ b/Tests/MeshLib/TestBoundaryElementSearch.cpp
@@ -19,10 +19,10 @@
 #include "MeshGeoToolsLib/MeshNodeSearcher.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshGenerators/QuadraticMeshGenerator.h"
 #include "MeshLib/MeshSearch/NodeSearch.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.h"
 
 using namespace MeshLib;
 
diff --git a/Tests/MeshLib/TestCreateMaterialIDsBasedSubMesh.cpp b/Tests/MeshLib/TestCreateMaterialIDsBasedSubMesh.cpp
index edad076ba7db20402494394320896f7149d159d8..8c6b8f1dfef89541fc27acf19d09667918d8b8c2 100644
--- a/Tests/MeshLib/TestCreateMaterialIDsBasedSubMesh.cpp
+++ b/Tests/MeshLib/TestCreateMaterialIDsBasedSubMesh.cpp
@@ -14,8 +14,8 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 using namespace MeshLib;
 
diff --git a/Tests/MeshLib/TestCreateQuadraticOrderMesh.cpp b/Tests/MeshLib/TestCreateQuadraticOrderMesh.cpp
index f97d8915fa755a9bf9ef2e7d93f146d6b67247d6..a4c7821667f277c075e9c9bc85ea529007c522dc 100644
--- a/Tests/MeshLib/TestCreateQuadraticOrderMesh.cpp
+++ b/Tests/MeshLib/TestCreateQuadraticOrderMesh.cpp
@@ -27,8 +27,8 @@
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/MeshEnums.h"
-#include "MeshLib/MeshGenerators/QuadraticMeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.h"
 
 const unsigned* getEdgeNodeLocalIDs(MeshLib::Element const& element,
                                     unsigned const edge_id)
diff --git a/Tests/MeshLib/TestDuplicate.cpp b/Tests/MeshLib/TestDuplicate.cpp
index f98eae394c9e8e3722f549afefeacf38a0773297..525ea170c2c687033bde10e47026e4ae018811b7 100644
--- a/Tests/MeshLib/TestDuplicate.cpp
+++ b/Tests/MeshLib/TestDuplicate.cpp
@@ -18,10 +18,10 @@
 #include "MathLib/MathTools.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Utils/DuplicateMeshComponents.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 TEST(MeshLib, Duplicate)
 {
diff --git a/Tests/MeshLib/TestElementStatus.cpp b/Tests/MeshLib/TestElementStatus.cpp
index 86a09052535c845b9c20dbef3ae614178f564596..0afbbe6018c718cec25d5a6680c29a77fe61b95b 100644
--- a/Tests/MeshLib/TestElementStatus.cpp
+++ b/Tests/MeshLib/TestElementStatus.cpp
@@ -18,8 +18,8 @@
 #include "MeshLib/ElementStatus.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 TEST(MeshLib, ElementStatus)
 {
diff --git a/Tests/MeshLib/TestFindElementsWithinRadius.cpp b/Tests/MeshLib/TestFindElementsWithinRadius.cpp
index c4c4aaba901ab84597539639957c5062a08f7ff9..e306259a8c39a8319ef05166d9362e15e13e18fd 100644
--- a/Tests/MeshLib/TestFindElementsWithinRadius.cpp
+++ b/Tests/MeshLib/TestFindElementsWithinRadius.cpp
@@ -15,9 +15,9 @@
 #include "BaseLib/Algorithm.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/findElementsWithinRadius.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #include "Tests/AutoCheckTools.h"
 
 using namespace MeshLib;
diff --git a/Tests/MeshLib/TestFlipElements.cpp b/Tests/MeshLib/TestFlipElements.cpp
index 97ea77f87e1d5b157fa8d4bff4a94b550256df59..86f3ba05ed8a456c2034bff91f2161457a11cab6 100644
--- a/Tests/MeshLib/TestFlipElements.cpp
+++ b/Tests/MeshLib/TestFlipElements.cpp
@@ -14,9 +14,9 @@
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Elements/FaceRule.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/FlipElements.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/FlipElements.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 TEST(MeshLib, FlipLineMesh)
 {
diff --git a/Tests/MeshLib/TestGetMeshElementsForMaterialIDs.cpp b/Tests/MeshLib/TestGetMeshElementsForMaterialIDs.cpp
index 44f3524ee824288f82030af8df7a3347c9ee91f7..1ca47e86083c48ea47523a1b81837113504954d8 100644
--- a/Tests/MeshLib/TestGetMeshElementsForMaterialIDs.cpp
+++ b/Tests/MeshLib/TestGetMeshElementsForMaterialIDs.cpp
@@ -14,8 +14,8 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 using namespace MeshLib;
 
diff --git a/Tests/MeshLib/TestHexQualityCriteria.cpp b/Tests/MeshLib/TestHexQualityCriteria.cpp
index 42fb735a895a74426891bc6a239f166f879ff3a3..f66adda0e1e09d9f523d1a5c841869c27c32bf50 100644
--- a/Tests/MeshLib/TestHexQualityCriteria.cpp
+++ b/Tests/MeshLib/TestHexQualityCriteria.cpp
@@ -15,9 +15,9 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshQuality/ElementQualityInterface.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityInterface.h"
 
 class HexElementQuality : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestLineMesh.cpp b/Tests/MeshLib/TestLineMesh.cpp
index 49c045baf2b9038b9ff19ac466babfbd14c91ea7..f4fc7084a8b2b335ae4ff63ba5fc9b1b40fbb63c 100644
--- a/Tests/MeshLib/TestLineMesh.cpp
+++ b/Tests/MeshLib/TestLineMesh.cpp
@@ -13,7 +13,7 @@
 
 #include "MeshLib/Elements/Line.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 class MeshLibLineMesh : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestMeshGenerator.cpp b/Tests/MeshLib/TestMeshGenerator.cpp
index 886f635fd2d9627225f4b9951d6ccd6386d96016..b7cc5779ffdef8895ffda2923f092501a9c82ceb 100644
--- a/Tests/MeshLib/TestMeshGenerator.cpp
+++ b/Tests/MeshLib/TestMeshGenerator.cpp
@@ -17,8 +17,8 @@
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Elements/Hex.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 using namespace MeshLib;
 
diff --git a/Tests/MeshLib/TestMeshNodeSearch.cpp b/Tests/MeshLib/TestMeshNodeSearch.cpp
index afce7392e77c55cd5edf9cf9145f54c3a0843f7b..52dc2d02714091043c18305e51bf07e8e4cf31a1 100644
--- a/Tests/MeshLib/TestMeshNodeSearch.cpp
+++ b/Tests/MeshLib/TestMeshNodeSearch.cpp
@@ -19,8 +19,8 @@
 #include "MeshGeoToolsLib/HeuristicSearchLength.h"
 #include "MeshGeoToolsLib/MeshNodeSearcher.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 using namespace MeshLib;
 
diff --git a/Tests/MeshLib/TestMeshRevision.cpp b/Tests/MeshLib/TestMeshRevision.cpp
index 6f636695a8b7b28c492caa8aa9b27a60fff329f0..bd21f33c7703943c456c440ae830df6d43c073bc 100644
--- a/Tests/MeshLib/TestMeshRevision.cpp
+++ b/Tests/MeshLib/TestMeshRevision.cpp
@@ -21,8 +21,8 @@
 #include "MeshLib/Elements/Tet.h"
 #include "MeshLib/Elements/Tri.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/MeshRevision.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/MeshRevision.h"
 
 TEST(MeshEditing, Tri)
 {
diff --git a/Tests/MeshLib/TestMeshValidation.cpp b/Tests/MeshLib/TestMeshValidation.cpp
index 1c2bf54495df071b36cdf5691923b7526ec311df..77695880525cad5c79ce6df301095b887c47a052 100644
--- a/Tests/MeshLib/TestMeshValidation.cpp
+++ b/Tests/MeshLib/TestMeshValidation.cpp
@@ -19,11 +19,11 @@
 #include "MathLib/Point3d.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
-#include "MeshLib/MeshQuality/MeshValidation.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Utils/DuplicateMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
+#include "MeshToolsLib/MeshQuality/MeshValidation.h"
 
 void detectHoles(MeshLib::Mesh const& mesh,
                  std::vector<std::size_t>
diff --git a/Tests/MeshLib/TestMoveMeshNodes.cpp b/Tests/MeshLib/TestMoveMeshNodes.cpp
index 2495315c2e7d3c54da464fbde4cbeb82ff655157..d440c42bc9af8eb056a39eb6b7a103107764afc2 100644
--- a/Tests/MeshLib/TestMoveMeshNodes.cpp
+++ b/Tests/MeshLib/TestMoveMeshNodes.cpp
@@ -14,8 +14,8 @@
 #include <numeric>
 #include <vector>
 
-#include "MeshLib/MeshEditing/moveMeshNodes.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/moveMeshNodes.h"
 
 TEST(MeshLib, moveMeshNodes)
 {
diff --git a/Tests/MeshLib/TestNodeAdjacencyTable.cpp b/Tests/MeshLib/TestNodeAdjacencyTable.cpp
index 7d8166f5e2defea25cf6f9820625f531f7b57e5d..9d1631c1288da31962728497a96af8d86ce369b7 100644
--- a/Tests/MeshLib/TestNodeAdjacencyTable.cpp
+++ b/Tests/MeshLib/TestNodeAdjacencyTable.cpp
@@ -13,9 +13,9 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/NodeAdjacencyTable.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 TEST(MeshLib, CreateNodeAdjacencyTable1D)
 {
diff --git a/Tests/MeshLib/TestNodeSearch.cpp b/Tests/MeshLib/TestNodeSearch.cpp
index 5dda3060e1610532e93b312b179c03856b0179e9..783fb909189a7cdfe1c3a8a0e460b6769aecd5e9 100644
--- a/Tests/MeshLib/TestNodeSearch.cpp
+++ b/Tests/MeshLib/TestNodeSearch.cpp
@@ -14,11 +14,11 @@
 #include "GeoLib/Raster.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
 #include "MeshLib/MeshSearch/NodeSearch.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/Utils/DuplicateMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
 
 TEST(NodeSearch, UnusedNodes)
 {
diff --git a/Tests/MeshLib/TestPrismQualityCriteria.cpp b/Tests/MeshLib/TestPrismQualityCriteria.cpp
index 531c642589a5d9d6a32148b3728a08cb6b97b1d4..53923cc5e56513a116b14d5c60338469b098c1d1 100644
--- a/Tests/MeshLib/TestPrismQualityCriteria.cpp
+++ b/Tests/MeshLib/TestPrismQualityCriteria.cpp
@@ -15,9 +15,9 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshQuality/ElementQualityInterface.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityInterface.h"
 
 class PrismElementQuality : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestPyramidQualityCriteria.cpp b/Tests/MeshLib/TestPyramidQualityCriteria.cpp
index d5b7ed231c337560393d5cb9fdb2556afcc89638..68678dda8815753c2185a06d16a5bd65477496b7 100644
--- a/Tests/MeshLib/TestPyramidQualityCriteria.cpp
+++ b/Tests/MeshLib/TestPyramidQualityCriteria.cpp
@@ -15,9 +15,9 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshQuality/ElementQualityInterface.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityInterface.h"
 
 class PyramidElementQuality : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestQuadMesh.cpp b/Tests/MeshLib/TestQuadMesh.cpp
index b734bb1a40e4b81eba61a73ee81b976d141627b5..a7be7b642b366e3d13bc92160b7f838798f28529 100644
--- a/Tests/MeshLib/TestQuadMesh.cpp
+++ b/Tests/MeshLib/TestQuadMesh.cpp
@@ -15,7 +15,7 @@
 
 #include "MeshLib/Elements/Quad.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 class MeshLibQuadMesh : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestQuadQualityCriteria.cpp b/Tests/MeshLib/TestQuadQualityCriteria.cpp
index 73acc77e29afedd925278661ef9761307b6b1653..e7e8825ab4be8198477ea19d9c28775d84327d67 100644
--- a/Tests/MeshLib/TestQuadQualityCriteria.cpp
+++ b/Tests/MeshLib/TestQuadQualityCriteria.cpp
@@ -15,9 +15,9 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshQuality/ElementQualityInterface.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityInterface.h"
 
 class QuadElementQuality : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestRasterDataToMesh.cpp b/Tests/MeshLib/TestRasterDataToMesh.cpp
index f15aa53cc2afaacfb4372ba2852f54c477363bd3..6d6a3e16c1d6bdd1c9a2c9519b99354ec1c77b77 100644
--- a/Tests/MeshLib/TestRasterDataToMesh.cpp
+++ b/Tests/MeshLib/TestRasterDataToMesh.cpp
@@ -20,7 +20,7 @@
 #include "InfoLib/TestInfo.h"
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RasterDataToMesh.h"
+#include "MeshToolsLib/MeshEditing/RasterDataToMesh.h"
 
 class RasterDataToMeshTest : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestRasterToMesh.cpp b/Tests/MeshLib/TestRasterToMesh.cpp
index f8e3b73fdd4deb62235528d4312dd42c675db443..cb90038c6e596d82638dd63685fd4233f495d293 100644
--- a/Tests/MeshLib/TestRasterToMesh.cpp
+++ b/Tests/MeshLib/TestRasterToMesh.cpp
@@ -18,9 +18,9 @@
 #include "InfoLib/TestInfo.h"
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/RasterToMesh.h"
-#include "MeshLib/MeshInformation.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/RasterToMesh.h"
+#include "MeshToolsLib/MeshInformation.h"
 
 #ifdef OGS_BUILD_GUI
 #include <vtkImageData.h>
diff --git a/Tests/MeshLib/TestRemove.cpp b/Tests/MeshLib/TestRemove.cpp
index 7a34e68c6dc0326aa571de2d8c2441e3bd28418e..b7cdb9c26276cab4b747c1f2626319328765c98f 100644
--- a/Tests/MeshLib/TestRemove.cpp
+++ b/Tests/MeshLib/TestRemove.cpp
@@ -18,9 +18,9 @@
 #include "MathLib/MathTools.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshEditing/RemoveMeshComponents.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshEditing/RemoveMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 TEST(MeshLib, RemoveNodes)
 {
diff --git a/Tests/MeshLib/TestTetQualityCriteria.cpp b/Tests/MeshLib/TestTetQualityCriteria.cpp
index 1b57a0236813d3b54682a4a3d802d7add644afa3..566b12abbbe2ecaac04d77c80ea6c92c445c1494 100644
--- a/Tests/MeshLib/TestTetQualityCriteria.cpp
+++ b/Tests/MeshLib/TestTetQualityCriteria.cpp
@@ -18,9 +18,9 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshQuality/ElementQualityInterface.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityInterface.h"
 
 class TetElementQuality : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestTriQualityCriteria.cpp b/Tests/MeshLib/TestTriQualityCriteria.cpp
index 0e5e08694af832a1e2a625877783b7948c46b32d..019457a1de65bd8bde0e19d879a417213dfc1828 100644
--- a/Tests/MeshLib/TestTriQualityCriteria.cpp
+++ b/Tests/MeshLib/TestTriQualityCriteria.cpp
@@ -17,9 +17,9 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshQuality/ElementQualityInterface.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshQuality/ElementQualityInterface.h"
 
 class TriElementQuality : public ::testing::Test
 {
diff --git a/Tests/MeshLib/TestVtkMappedMeshSource.cpp b/Tests/MeshLib/TestVtkMappedMeshSource.cpp
index d203344c3910e4c762c20bb405b7fa0fa7ba7990..a90aa1e3a7e4a68f0ffd31c4f2836b73efcd84cb 100644
--- a/Tests/MeshLib/TestVtkMappedMeshSource.cpp
+++ b/Tests/MeshLib/TestVtkMappedMeshSource.cpp
@@ -30,8 +30,8 @@
 #include "MeshLib/IO/VtkIO/VtkMeshConverter.h"
 #include "MeshLib/IO/VtkIO/VtuInterface.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Vtk/VtkMappedMeshSource.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 // Creates a mesh with different types of data (double, int, etc.) and point,
 // cell, or integration point properties.
diff --git a/Tests/MeshLib/TestVtkMappedPropertyVector.cpp b/Tests/MeshLib/TestVtkMappedPropertyVector.cpp
index 7dfb7bb9e55352e298c40b404ca718ba23a34adb..eabc0261d9cf9b8618c21aa9fad117a59110fed9 100644
--- a/Tests/MeshLib/TestVtkMappedPropertyVector.cpp
+++ b/Tests/MeshLib/TestVtkMappedPropertyVector.cpp
@@ -21,7 +21,7 @@
 #include <numeric>
 
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 // Creates a PropertyVector<double> and maps it into a vtkDataArray-equivalent
 TEST(MeshLibMappedPropertyVector, Double)
diff --git a/Tests/MeshLib/TestVtkMeshNodalCoordinatesTemplate.cpp b/Tests/MeshLib/TestVtkMeshNodalCoordinatesTemplate.cpp
index d1842f4a053a592bdd3d181c4b21937a0a60e250..299d55bb23170cbe3eb81f77c574b43d0d2ac294 100644
--- a/Tests/MeshLib/TestVtkMeshNodalCoordinatesTemplate.cpp
+++ b/Tests/MeshLib/TestVtkMeshNodalCoordinatesTemplate.cpp
@@ -16,8 +16,8 @@
 #include <vtkUnstructuredGrid.h>
 
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Vtk/VtkMeshNodalCoordinatesTemplate.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 TEST(MeshLibdalCoordinates, Init)
 {
diff --git a/Tests/NumLib/LocalToGlobalIndexMap.cpp b/Tests/NumLib/LocalToGlobalIndexMap.cpp
index b57b9f1725d0f8c06089a67a2260af962a966ef3..5c5b1c6ccefc222b7ef54d047bad78a8ecba9997 100644
--- a/Tests/NumLib/LocalToGlobalIndexMap.cpp
+++ b/Tests/NumLib/LocalToGlobalIndexMap.cpp
@@ -15,9 +15,9 @@
 #include <vector>
 
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/MeshSearch/NodeSearch.h"
 #include "MeshLib/MeshSubset.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 class NumLibLocalToGlobalIndexMapTest : public ::testing::Test
 {
diff --git a/Tests/NumLib/LocalToGlobalIndexMapMultiComponent.cpp b/Tests/NumLib/LocalToGlobalIndexMapMultiComponent.cpp
index 24d810075a4554bdc3d4c8cab4532ba2236f1333..b6901552a1786485f57ae34a4c1f42faeb628ddb 100644
--- a/Tests/NumLib/LocalToGlobalIndexMapMultiComponent.cpp
+++ b/Tests/NumLib/LocalToGlobalIndexMapMultiComponent.cpp
@@ -17,10 +17,10 @@
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Location.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/MeshSearch/NodeSearch.h"
 #include "MeshLib/MeshSubset.h"
 #include "MeshLib/Utils/DuplicateMeshComponents.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #include "NumLib/DOF/LocalToGlobalIndexMap.h"
 
 namespace NL = NumLib;
diff --git a/Tests/NumLib/SteadyDiffusion2DExample1.h b/Tests/NumLib/SteadyDiffusion2DExample1.h
index e15880720543c792b124255072b33a7ab5f00968..9a66b8f6cfae8bbb472acd5f48237ccf485e5aa3 100644
--- a/Tests/NumLib/SteadyDiffusion2DExample1.h
+++ b/Tests/NumLib/SteadyDiffusion2DExample1.h
@@ -18,8 +18,8 @@
 
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 
 template<typename IndexType>struct SteadyDiffusion2DExample1
 {
diff --git a/Tests/NumLib/TestComponentNorms.cpp b/Tests/NumLib/TestComponentNorms.cpp
index 660e73dd1a6e809900ca9eb80303217c84d57724..62eb2065336aca74578ec36ef647322c237fe28a 100644
--- a/Tests/NumLib/TestComponentNorms.cpp
+++ b/Tests/NumLib/TestComponentNorms.cpp
@@ -22,7 +22,7 @@
 #ifdef USE_PETSC
 #include "MeshLib/IO/readMeshFromFile.h"
 #else
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #endif
 #include "NumLib/DOF/DOFTableUtil.h"
 #include "NumLib/DOF/LocalToGlobalIndexMap.h"
diff --git a/Tests/NumLib/TestExtrapolation.cpp b/Tests/NumLib/TestExtrapolation.cpp
index e7372048944c499c053acd86b3ad73ac285e3b16..1c8f5882af8653d9dc3f2a8ad1303d5c653ad70c 100644
--- a/Tests/NumLib/TestExtrapolation.cpp
+++ b/Tests/NumLib/TestExtrapolation.cpp
@@ -11,7 +11,7 @@
 
 #include "MathLib/LinAlg/LinAlg.h"
 #include "MeshLib/IO/writeMeshToFile.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #include "NumLib/DOF/DOFTableUtil.h"
 #include "NumLib/DOF/MatrixProvider.h"
 #include "NumLib/DOF/VectorProvider.h"
diff --git a/Tests/NumLib/TestMeshComponentMap.cpp b/Tests/NumLib/TestMeshComponentMap.cpp
index 64ca0bb4d5b5b20a95a0714bdd0c53483d2e48f5..9419fca926a8f7c478cf0b91b81edf2649bdf9a8 100644
--- a/Tests/NumLib/TestMeshComponentMap.cpp
+++ b/Tests/NumLib/TestMeshComponentMap.cpp
@@ -15,8 +15,8 @@
 #include <memory>
 #include <vector>
 
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/MeshSubset.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #include "NumLib/DOF/MeshComponentMap.h"
 
 class NumLibMeshComponentMapTest : public ::testing::Test
diff --git a/Tests/NumLib/TestSparsityPattern.cpp b/Tests/NumLib/TestSparsityPattern.cpp
index 703c66855bfaefa95dd588f4c267794e1a0d9adb..371b753370b2820d8fc953094fbe8376d375d4fd 100644
--- a/Tests/NumLib/TestSparsityPattern.cpp
+++ b/Tests/NumLib/TestSparsityPattern.cpp
@@ -11,8 +11,8 @@
 
 #include "MeshLib/Elements/Utils.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
-#include "MeshLib/MeshGenerators/QuadraticMeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/QuadraticMeshGenerator.h"
 #include "NumLib/DOF/ComputeSparsityPattern.h"
 #include "NumLib/DOF/LocalToGlobalIndexMap.h"
 #include "NumLib/NumericsConfig.h"
diff --git a/Tests/ParameterLib/Parameter.cpp b/Tests/ParameterLib/Parameter.cpp
index 99438d20decd2d8e1a0d187ee30cef8ea9b2c91f..11802b45332ed177fac6fa57e869a9d81f3327e8 100644
--- a/Tests/ParameterLib/Parameter.cpp
+++ b/Tests/ParameterLib/Parameter.cpp
@@ -17,9 +17,9 @@
 #include "BaseLib/ConfigTree.h"
 #include "BaseLib/Logging.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/Node.h"
 #include "MeshLib/PropertyVector.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #include "ParameterLib/CurveScaledParameter.h"
 #include "ParameterLib/GroupBasedParameter.h"
 #include "Tests/TestTools.h"
diff --git a/Tests/ProcessLib/ComponentTransport/TestLookupTable.cpp b/Tests/ProcessLib/ComponentTransport/TestLookupTable.cpp
index de6708c29794a17eedcc77d63d700c72fa68dcd5..d893bbda83345347a37241cb3ad58998a148eab9 100644
--- a/Tests/ProcessLib/ComponentTransport/TestLookupTable.cpp
+++ b/Tests/ProcessLib/ComponentTransport/TestLookupTable.cpp
@@ -17,7 +17,7 @@
 #include "InfoLib/TestInfo.h"
 #include "MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.h"
 #include "MeshLib/Mesh.h"
-#include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "MeshToolsLib/MeshGenerators/MeshGenerator.h"
 #include "ParameterLib/Parameter.h"
 #include "ProcessLib/ComponentTransport/CreateLookupTable.h"
 #include "ProcessLib/ComponentTransport/LookupTable.h"