diff --git a/MeshGeoToolsLib/AppendLinesAlongPolyline.cpp b/MeshGeoToolsLib/AppendLinesAlongPolyline.cpp
index 731173f578025273fcbc4c40fe299fb0faa63a62..2543667961b8fae81f162101deb4f15a86383614 100644
--- a/MeshGeoToolsLib/AppendLinesAlongPolyline.cpp
+++ b/MeshGeoToolsLib/AppendLinesAlongPolyline.cpp
@@ -9,16 +9,16 @@
 
 #include "AppendLinesAlongPolyline.h"
 
-// ThirdParty/logog
-#include "logog/include/logog.hpp"
+#include <logog/include/logog.hpp>
 
-// MeshLib
-#include "Mesh.h"
+#include "GeoLib/Polyline.h"
+
+#include "MeshLib/Mesh.h"
 #include "MeshLib/Node.h"
-#include "Elements/Line.h"
-#include "Elements/Element.h"
-#include "MeshEnums.h"
-#include "MeshEditing/DuplicateMeshComponents.h"
+#include "MeshLib/Elements/Line.h"
+#include "MeshLib/Elements/Element.h"
+#include "MeshLib/MeshEnums.h"
+#include "MeshLib/MeshEditing/DuplicateMeshComponents.h"
 
 #include "MeshGeoToolsLib/MeshNodesAlongPolyline.h"
 
diff --git a/MeshGeoToolsLib/GeoMapper.cpp b/MeshGeoToolsLib/GeoMapper.cpp
index b4023e16335e5ec9091282712dffaf04c2f984f1..b7328c5da0c7cc699dc916bdaafe47a7a98d7089 100644
--- a/MeshGeoToolsLib/GeoMapper.cpp
+++ b/MeshGeoToolsLib/GeoMapper.cpp
@@ -12,19 +12,19 @@
  *
  */
 
-// ThirdParty/logog
-#include "logog/include/logog.hpp"
-
 #include "GeoMapper.h"
 
 #include <algorithm>
 #include <numeric>
 
+#include <logog/include/logog.hpp>
+
 #include "FileIO/AsciiRasterInterface.h"
 #include "FileIO/readMeshFromFile.h"
 
 #include "GeoLib/AABB.h"
 #include "GeoLib/AnalyticalGeometry.h"
+#include "GeoLib/GEOObjects.h"
 #include "GeoLib/Raster.h"
 #include "GeoLib/StationBorehole.h"
 
diff --git a/MeshGeoToolsLib/GeoMapper.h b/MeshGeoToolsLib/GeoMapper.h
index 8090fd56ffe7d4a88c387df9b79f6a9e1e387e0c..0b1807f9766d3f3f3567ffc60545d79149dd371b 100644
--- a/MeshGeoToolsLib/GeoMapper.h
+++ b/MeshGeoToolsLib/GeoMapper.h
@@ -18,11 +18,9 @@
 #include <cstddef>
 #include <vector>
 
-#include "GEOObjects.h"
-#include "Point.h"
-#include "Grid.h"
+#include "GeoLib/Point.h"
+#include "GeoLib/Grid.h"
 
-// MathLib
 #include "MathLib/Point3d.h"
 
 namespace MeshLib {
diff --git a/MeshGeoToolsLib/HeuristicSearchLength.cpp b/MeshGeoToolsLib/HeuristicSearchLength.cpp
index 88bb8da96ddd51acc6e6638fde122fcc6d415789..a6d6cb5acdcfefe28f08b9fd3dd97e3bd2ebd9ae 100644
--- a/MeshGeoToolsLib/HeuristicSearchLength.cpp
+++ b/MeshGeoToolsLib/HeuristicSearchLength.cpp
@@ -12,7 +12,7 @@
 #include "HeuristicSearchLength.h"
 
 // ThirdParty/logog
-#include "logog/include/logog.hpp"
+#include <logog/include/logog.hpp>
 
 #include "MeshLib/Elements/Element.h"
 
diff --git a/MeshGeoToolsLib/HeuristicSearchLength.h b/MeshGeoToolsLib/HeuristicSearchLength.h
index 1950a924f65404bc864c70792511f6c51c81dc90..ef42093fabd66083aed0ae19f5a1b23b147e3a65 100644
--- a/MeshGeoToolsLib/HeuristicSearchLength.h
+++ b/MeshGeoToolsLib/HeuristicSearchLength.h
@@ -14,6 +14,11 @@
 
 #include "MeshGeoToolsLib/SearchLength.h"
 
+namespace MeshLib
+{
+class Mesh;
+}
+
 namespace MeshGeoToolsLib
 {
 
diff --git a/MeshGeoToolsLib/MeshNodeSearcher.cpp b/MeshGeoToolsLib/MeshNodeSearcher.cpp
index 69677009cd3c82410cfed77a6c90df35fadd2a85..c2bca31436186d5e6c8f1aa5563dcb7899c0fa0a 100644
--- a/MeshGeoToolsLib/MeshNodeSearcher.cpp
+++ b/MeshGeoToolsLib/MeshNodeSearcher.cpp
@@ -11,13 +11,16 @@
 #include "MeshGeoToolsLib/MeshNodeSearcher.h"
 
 // ThirdParty/logog
-#include "logog/include/logog.hpp"
+#include <logog/include/logog.hpp>
 
 // GeoLib
 #include "GeoLib/Point.h"
+#include "GeoLib/Polyline.h"
 
 // MeshLib
 #include "MeshLib/Elements/Element.h"
+#include "MeshLib/Mesh.h"
+#include "MeshLib/Node.h"
 
 // MeshGeoToolsLib
 #include "MeshGeoToolsLib/HeuristicSearchLength.h"
diff --git a/MeshGeoToolsLib/MeshNodeSearcher.h b/MeshGeoToolsLib/MeshNodeSearcher.h
index c456059c59bc2899c64fd842daadea2f751a0771..07d174fafead86b7adca2f68998e714870ccc7d0 100644
--- a/MeshGeoToolsLib/MeshNodeSearcher.h
+++ b/MeshGeoToolsLib/MeshNodeSearcher.h
@@ -13,21 +13,27 @@
 #include <memory>
 #include <vector>
 
-#include "boost/optional.hpp"
+#include <boost/optional.hpp>
 
 // GeoLib
-#include "GeoLib/Point.h"
-#include "GeoLib/Polyline.h"
 #include "GeoLib/Grid.h"
 
-// MeshLib
-#include "MeshLib/Mesh.h"
-#include "MeshLib/Node.h"
-
 // MeshGeoToolsLib
 #include "MeshGeoToolsLib/SearchLength.h"
 
 // forward declaration
+namespace GeoLib
+{
+class Point;
+class Polyline;
+}
+
+namespace MeshLib
+{
+class Mesh;
+class Node;
+}
+
 namespace MeshGeoToolsLib
 {
 class MeshNodesAlongPolyline;
diff --git a/MeshGeoToolsLib/MeshNodesAlongPolyline.cpp b/MeshGeoToolsLib/MeshNodesAlongPolyline.cpp
index aab12d85138b6ebe5aa8424e3bf92c3dcbbd0796..b425eb202a1ba779b22c60f1c321d96a836bc97c 100644
--- a/MeshGeoToolsLib/MeshNodesAlongPolyline.cpp
+++ b/MeshGeoToolsLib/MeshNodesAlongPolyline.cpp
@@ -10,16 +10,16 @@
  *              http://www.opengeosys.org/LICENSE.txt
  */
 
-// BaseLib
-#include "quicksort.h"
-
-// MeshGeoToolsLib
 #include "MeshNodesAlongPolyline.h"
 
-#include "MathTools.h"
-
 #include <algorithm>
 
+#include "BaseLib/quicksort.h"
+#include "MathLib/MathTools.h"
+#include "GeoLib/Polyline.h"
+#include "MeshLib/Mesh.h"
+#include "MeshLib/Node.h"
+
 namespace MeshGeoToolsLib
 {
 MeshNodesAlongPolyline::MeshNodesAlongPolyline(
diff --git a/MeshGeoToolsLib/MeshNodesAlongPolyline.h b/MeshGeoToolsLib/MeshNodesAlongPolyline.h
index 0b1b797b962f718bfdf515712bc30ff5ae1b737b..1dcc5591c79dc9862e9726aa6ce1414a18232654 100644
--- a/MeshGeoToolsLib/MeshNodesAlongPolyline.h
+++ b/MeshGeoToolsLib/MeshNodesAlongPolyline.h
@@ -15,11 +15,15 @@
 
 #include <vector>
 
-// GeoLib
-#include "Polyline.h"
+namespace GeoLib
+{
+class Polyline;
+}
 
-// MeshLib
-#include "MeshLib/Node.h"
+namespace MeshLib
+{
+class Mesh;
+}
 
 namespace MeshGeoToolsLib
 {
diff --git a/MeshGeoToolsLib/MeshNodesAlongSurface.cpp b/MeshGeoToolsLib/MeshNodesAlongSurface.cpp
index 9fc50ec6b6ed2d440c746475491b6b97886744b0..3848bdaacecab61724c44dcba0027a33a28204fe 100644
--- a/MeshGeoToolsLib/MeshNodesAlongSurface.cpp
+++ b/MeshGeoToolsLib/MeshNodesAlongSurface.cpp
@@ -14,9 +14,11 @@
 
 #include <algorithm>
 
-#include "quicksort.h"
-#include "MathTools.h"
-
+#include "BaseLib/quicksort.h"
+#include "MathLib/MathTools.h"
+#include "GeoLib/Surface.h"
+#include "MeshLib/Mesh.h"
+#include "MeshLib/Node.h"
 
 namespace MeshGeoToolsLib
 {
diff --git a/MeshGeoToolsLib/MeshNodesAlongSurface.h b/MeshGeoToolsLib/MeshNodesAlongSurface.h
index 5e12efacf5aed9a27151438780b95bcc632e123a..d73f5db83c624a7c69c0184d13645e11dbeef612 100644
--- a/MeshGeoToolsLib/MeshNodesAlongSurface.h
+++ b/MeshGeoToolsLib/MeshNodesAlongSurface.h
@@ -15,11 +15,15 @@
 
 #include <vector>
 
-// GeoLib
-#include "Surface.h"
+namespace GeoLib
+{
+class Surface;
+}
 
-// MeshLib
-#include "MeshLib/Node.h"
+namespace MeshLib
+{
+class Mesh;
+}
 
 namespace MeshGeoToolsLib
 {
diff --git a/MeshGeoToolsLib/SearchLength.h b/MeshGeoToolsLib/SearchLength.h
index 6b33860d66fea7bef4882e8c2d982a4c62d0d819..0f47b4b7f6959ed6f583475679591bc3c4f999e3 100644
--- a/MeshGeoToolsLib/SearchLength.h
+++ b/MeshGeoToolsLib/SearchLength.h
@@ -12,8 +12,6 @@
 #ifndef SEARCHLENGTH_H_
 #define SEARCHLENGTH_H_
 
-#include "MeshLib/Mesh.h"
-
 namespace MeshGeoToolsLib
 {
 
diff --git a/MeshLib/PropertyVector.h b/MeshLib/PropertyVector.h
index de10ebc821cbe516cbe6c9cacddd281d8e5ca200..822a4c0fcf86bf67e82bf0b456d7b74bf3aaf293 100644
--- a/MeshLib/PropertyVector.h
+++ b/MeshLib/PropertyVector.h
@@ -16,8 +16,8 @@
 #include <string>
 #include <vector>
 
-#include "Location.h"
 #include "BaseLib/excludeObjectCopy.h"
+#include "Location.h"
 
 namespace MeshLib
 {
diff --git a/NumLib/Function/LinearInterpolationAlongPolyline.cpp b/NumLib/Function/LinearInterpolationAlongPolyline.cpp
index 4549a5e3a219e517c64fddd6f445f07e54482d6e..86807afd806d7171248018af849a0f00a699b178 100644
--- a/NumLib/Function/LinearInterpolationAlongPolyline.cpp
+++ b/NumLib/Function/LinearInterpolationAlongPolyline.cpp
@@ -12,6 +12,7 @@
 
 #include "LinearInterpolationAlongPolyline.h"
 
+#include "GeoLib/Polyline.h"
 #include "MeshLib/Mesh.h"
 #include "MeshGeoToolsLib/MeshNodesAlongPolyline.h"
 
diff --git a/Tests/MeshLib/TestBoundaryElementSearch.cpp b/Tests/MeshLib/TestBoundaryElementSearch.cpp
index e9e8424c391e78ff380c5f8f7885084ac1a2887c..ad27a40a0e85a61f3e3fa28901d345f846a7e77c 100644
--- a/Tests/MeshLib/TestBoundaryElementSearch.cpp
+++ b/Tests/MeshLib/TestBoundaryElementSearch.cpp
@@ -12,6 +12,7 @@
 #include <numeric>
 
 #include "MeshLib/Mesh.h"
+#include "MeshLib/Node.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/MeshGenerators/MeshGenerator.h"
 #include "MeshLib/MeshSearcher.h"