diff --git a/Applications/InSituLib/Adaptor.cpp b/Applications/InSituLib/Adaptor.cpp
index d159fa1e76a6fd9de85d675acc494fa09d6c0584..1296da6390bbcff42a52f954219fc703167db6a5 100644
--- a/Applications/InSituLib/Adaptor.cpp
+++ b/Applications/InSituLib/Adaptor.cpp
@@ -18,6 +18,7 @@
 
 #include <filesystem>
 
+#include "BaseLib/ConfigTree.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/Vtk/VtkMappedMeshSource.h"
 
diff --git a/GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.h b/GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.h
index c1de86028a1a5650d520843763bda9626b75ac4c..aa3d19780d9422943d8f3de41b763dda3dc44f2d 100644
--- a/GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.h
+++ b/GeoLib/IO/XmlIO/Boost/BoostXmlGmlInterface.h
@@ -14,6 +14,7 @@
 
 #pragma once
 
+#include <boost/property_tree/ptree_fwd.hpp>
 #include <map>
 #include <string>
 #include <vector>
@@ -45,30 +46,30 @@ protected:
 
 private:
     /// Reads GeoLib::Point-objects from an xml-file
-    void readPoints    ( BaseLib::ConfigTree const& pointsRoot,
-                         std::vector<GeoLib::Point*>& points,
-                         std::map<std::string, std::size_t>& pnt_names);
+    void readPoints(BaseLib::ConfigTree const& pointsRoot,
+                    std::vector<GeoLib::Point*>& points,
+                    std::map<std::string, std::size_t>& pnt_names);
 
     /// Reads GeoLib::Polyline-objects from an xml-file
-    void readPolylines ( BaseLib::ConfigTree const& polylinesRoot,
+    void readPolylines(BaseLib::ConfigTree const& polylinesRoot,
                        std::vector<GeoLib::Polyline*>& polylines,
                        std::vector<GeoLib::Point*> const& points,
                        const std::vector<std::size_t>& pnt_id_map,
                        std::map<std::string, std::size_t>& ply_names);
 
     /// Reads GeoLib::Surface-objects from an xml-file
-    void readSurfaces  ( BaseLib::ConfigTree const& surfacesRoot,
+    void readSurfaces(BaseLib::ConfigTree const& surfacesRoot,
                       std::vector<GeoLib::Surface*>& surfaces,
                       std::vector<GeoLib::Point*> const& points,
                       const std::vector<std::size_t>& pnt_id_map,
                       std::map<std::string, std::size_t>& sfc_names);
 
-    void addSurfacesToPropertyTree(BaseLib::ConfigTree::PTree& geometry_set);
-    void addPolylinesToPropertyTree(BaseLib::ConfigTree::PTree & geometry_set);
+    void addSurfacesToPropertyTree(boost::property_tree::ptree& geometry_set);
+    void addPolylinesToPropertyTree(boost::property_tree::ptree& geometry_set);
 
     std::map<std::size_t, std::size_t> _idx_map;
-    GeoLib::GEOObjects &_geo_objects;
+    GeoLib::GEOObjects& _geo_objects;
 };
 
-} // end namespace IO
-} // end namespace GeoLib
+}  // end namespace IO
+}  // end namespace GeoLib
diff --git a/MaterialLib/Adsorption/ReactionCaOH2.h b/MaterialLib/Adsorption/ReactionCaOH2.h
index 05a50fa509d5d4ccabc9e6497ceb82a8efea6b35..032dc3e8831ca13a65347526f2369287bcfb66f7 100644
--- a/MaterialLib/Adsorption/ReactionCaOH2.h
+++ b/MaterialLib/Adsorption/ReactionCaOH2.h
@@ -9,11 +9,12 @@
 
 #pragma once
 
-#include "Adsorption.h"
-#include "BaseLib/ConfigTree-fwd.h"
-#include "Reaction.h"
 #include "materiallib_export.h"
 
+#include "BaseLib/ConfigTree.h"
+#include "Reaction.h"
+#include "Adsorption.h"
+
 namespace ProcessLib
 {
 template<typename>
diff --git a/MaterialLib/Fluid/Density/CreateFluidDensityModel.cpp b/MaterialLib/Fluid/Density/CreateFluidDensityModel.cpp
index c1255c8c7b08affc0cff6026ab4d1f01a4c1fd91..89967150ead4c75729076abdc90fe32860a8d87b 100644
--- a/MaterialLib/Fluid/Density/CreateFluidDensityModel.cpp
+++ b/MaterialLib/Fluid/Density/CreateFluidDensityModel.cpp
@@ -13,6 +13,7 @@
 
 #include <array>
 
+#include "BaseLib/ConfigTree.h"
 #include "BaseLib/Error.h"
 #include "IdealGasLaw.h"
 #include "LinearConcentrationAndPressureDependentDensity.h"
diff --git a/MaterialLib/Fluid/Viscosity/CreateViscosityModel.cpp b/MaterialLib/Fluid/Viscosity/CreateViscosityModel.cpp
index 22579b8f31d8e5d304c55342e1f0c8ab9a4883b6..b245d11ce0eda7c2cd4609f6d2a9b66a1605b2e1 100644
--- a/MaterialLib/Fluid/Viscosity/CreateViscosityModel.cpp
+++ b/MaterialLib/Fluid/Viscosity/CreateViscosityModel.cpp
@@ -12,6 +12,7 @@
 
 #include "CreateViscosityModel.h"
 
+#include "BaseLib/ConfigTree.h"
 #include "BaseLib/Error.h"
 #include "LinearPressureDependentViscosity.h"
 #include "MaterialLib/Fluid/ConstantFluidProperty.h"
diff --git a/MaterialLib/PorousMedium/CreatePorousMediaProperties.cpp b/MaterialLib/PorousMedium/CreatePorousMediaProperties.cpp
index 889da00f881bbc4413847052c33f075fc597875b..7c09873f4f26018ddef812371ee44b842734caad 100644
--- a/MaterialLib/PorousMedium/CreatePorousMediaProperties.cpp
+++ b/MaterialLib/PorousMedium/CreatePorousMediaProperties.cpp
@@ -11,6 +11,7 @@
 #include "CreatePorousMediaProperties.h"
 
 #include "BaseLib/Algorithm.h"
+#include "BaseLib/ConfigTree.h"
 #include "MeshLib/Mesh.h"
 #include "Permeability/createPermeabilityModel.h"
 #include "Porosity/createPorosityModel.h"
diff --git a/MathLib/LinAlg/LinearSolverOptions.cpp b/MathLib/LinAlg/LinearSolverOptions.cpp
index 2bb3381ed8743572390e4514f4a27e6c6936bb9b..3d1f4f830aacfd933af07a5648ea8fc66b5e661b 100644
--- a/MathLib/LinAlg/LinearSolverOptions.cpp
+++ b/MathLib/LinAlg/LinearSolverOptions.cpp
@@ -2,6 +2,8 @@
 
 #include <set>
 
+#include "BaseLib/ConfigTree.h"
+
 //! Configuration tag names of all known linear solvers for their
 //! configuration in the project file.
 //! Add your tag name here when you add a new solver.
diff --git a/MathLib/LinAlg/LinearSolverOptions.h b/MathLib/LinAlg/LinearSolverOptions.h
index 411ea463407d747f6edbb71e1a509c693328996b..d57727f1b157529c8ed9718f0658cc745e7c29ee 100644
--- a/MathLib/LinAlg/LinearSolverOptions.h
+++ b/MathLib/LinAlg/LinearSolverOptions.h
@@ -10,6 +10,8 @@
 
 #pragma once
 
+#include <string>
+
 #include "BaseLib/ConfigTree-fwd.h"
 
 namespace MathLib
diff --git a/ParameterLib/Utils.h b/ParameterLib/Utils.h
index a762e4e514ecfbff59d78c0d679b109298a128f4..a85208aa459c4837f9cc135c2fe8b0b5630352c4 100644
--- a/ParameterLib/Utils.h
+++ b/ParameterLib/Utils.h
@@ -12,7 +12,7 @@
 
 #include <vector>
 
-#include "BaseLib/ConfigTree-fwd.h"
+#include "BaseLib/ConfigTree.h"
 #include "BaseLib/Error.h"
 #include "Parameter.h"
 
@@ -83,7 +83,6 @@ Parameter<ParameterDataType>* findParameterOptional(
         }
     }
 
-
     return parameter;
 }
 
diff --git a/ProcessLib/BoundaryConditionAndSourceTerm/Python/Utils/CollectAndInterpolateNodalDof.h b/ProcessLib/BoundaryConditionAndSourceTerm/Python/Utils/CollectAndInterpolateNodalDof.h
index ca113f831d5dcfcb65b81b4bcd5dbda92903bbc8..7caa377f30f55b35181cc0e1916e4169c87ca7aa 100644
--- a/ProcessLib/BoundaryConditionAndSourceTerm/Python/Utils/CollectAndInterpolateNodalDof.h
+++ b/ProcessLib/BoundaryConditionAndSourceTerm/Python/Utils/CollectAndInterpolateNodalDof.h
@@ -10,8 +10,14 @@
 
 #pragma once
 
+#include "MathLib/LinAlg/GlobalMatrixVectorTypes.h"
 #include "ProcessLib/ProcessVariable.h"
 
+namespace MeshLib
+{
+class Element;
+}  // namespace MeshLib
+
 namespace ProcessLib::BoundaryConditionAndSourceTerm::Python
 {
 /// Collects the degrees of freedom of the passed element from the passed global
diff --git a/ProcessLib/CompareJacobiansJacobianAssembler.cpp b/ProcessLib/CompareJacobiansJacobianAssembler.cpp
index ce7b84387a6e640810091f39e290f246aeb2f34c..4c41b2ccf6140e76352c789d83cc3182481fc064 100644
--- a/ProcessLib/CompareJacobiansJacobianAssembler.cpp
+++ b/ProcessLib/CompareJacobiansJacobianAssembler.cpp
@@ -12,6 +12,7 @@
 
 #include <sstream>
 
+#include "BaseLib/ConfigTree.h"
 #include "CreateJacobianAssembler.h"
 #include "MathLib/LinAlg/Eigen/EigenMapTools.h"
 
diff --git a/ProcessLib/CreateJacobianAssembler.cpp b/ProcessLib/CreateJacobianAssembler.cpp
index 4c53b7337e11084999bfd896bae9d893d8e096aa..954788ad1b7595f35f1c565f68215d04ad2aec2d 100644
--- a/ProcessLib/CreateJacobianAssembler.cpp
+++ b/ProcessLib/CreateJacobianAssembler.cpp
@@ -11,6 +11,7 @@
 #include "CreateJacobianAssembler.h"
 
 #include "AnalyticalJacobianAssembler.h"
+#include "BaseLib/ConfigTree.h"
 #include "BaseLib/Error.h"
 #include "CentralDifferencesJacobianAssembler.h"
 #include "CompareJacobiansJacobianAssembler.h"
diff --git a/ProcessLib/CreateJacobianAssembler.h b/ProcessLib/CreateJacobianAssembler.h
index 4097cf29fab8967dacb9280e668ee8ac5769206a..91e9d3758b5ec44b3f67f934718918f666b3d38c 100644
--- a/ProcessLib/CreateJacobianAssembler.h
+++ b/ProcessLib/CreateJacobianAssembler.h
@@ -10,6 +10,9 @@
 
 #pragma once
 
+#include <memory>
+#include <optional>
+
 #include "BaseLib/ConfigTree-fwd.h"
 
 namespace ProcessLib
@@ -18,4 +21,4 @@ class AbstractJacobianAssembler;
 
 std::unique_ptr<AbstractJacobianAssembler> createJacobianAssembler(
     std::optional<BaseLib::ConfigTree> const& config);
-}  // ProcessLib
+}  // namespace ProcessLib
diff --git a/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp b/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
index 14c31c6f88d77d07850562834d6f087963b44d16..cbb90807072af247f218807fdccff16d832fd749 100644
--- a/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
+++ b/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
@@ -10,6 +10,7 @@
 
 #include "CreateHeatConductionProcess.h"
 
+#include "BaseLib/ConfigTree.h"
 #include "HeatConductionProcess.h"
 #include "HeatConductionProcessData.h"
 #include "MaterialLib/MPL/CheckMaterialSpatialDistributionMap.h"
diff --git a/ProcessLib/ProcessVariable.h b/ProcessLib/ProcessVariable.h
index d8b1751c5b2dcd50c867fe9e399b789a6459df07..1e222a2f0e18fe7d198f7ba5cc1e0d602aa81e85 100644
--- a/ProcessLib/ProcessVariable.h
+++ b/ProcessLib/ProcessVariable.h
@@ -10,7 +10,6 @@
 
 #pragma once
 
-#include "MathLib/LinAlg/GlobalMatrixVectorTypes.h"
 #include "ParameterLib/Parameter.h"
 #include "ProcessLib/BoundaryConditionAndSourceTerm/BoundaryConditionConfig.h"
 #include "ProcessLib/BoundaryConditionAndSourceTerm/SourceTermConfig.h"
diff --git a/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.cpp b/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.cpp
index fc256a805be0062a50ddbfe6d6f78ab52e29d0b9..5f1559bac0d30f38049f8f801d3bd6259059e1b2 100644
--- a/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.cpp
+++ b/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.cpp
@@ -10,6 +10,7 @@
 
 #include "CreateRichardsComponentTransportProcess.h"
 
+#include "BaseLib/ConfigTree.h"
 #include "MaterialLib/MPL/CreateMaterialSpatialDistributionMap.h"
 #include "MaterialLib/MPL/MaterialSpatialDistributionMap.h"
 #include "ProcessLib/Output/CreateSecondaryVariables.h"
diff --git a/ProcessLib/StokesFlow/CreateStokesFlowProcess.cpp b/ProcessLib/StokesFlow/CreateStokesFlowProcess.cpp
index 21be5b74e7862b42c040abcf14b4d8848cca8253..cf4691665f82007cc17ea57f6a0f7e83220e482b 100644
--- a/ProcessLib/StokesFlow/CreateStokesFlowProcess.cpp
+++ b/ProcessLib/StokesFlow/CreateStokesFlowProcess.cpp
@@ -10,6 +10,7 @@
 
 #include "CreateStokesFlowProcess.h"
 
+#include "BaseLib/ConfigTree.h"
 #include "MaterialLib/MPL/CreateMaterialSpatialDistributionMap.h"
 #include "ProcessLib/Output/CreateSecondaryVariables.h"
 #include "ProcessLib/Utils/ProcessUtils.h"
diff --git a/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowPrhoMaterialProperties.cpp b/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowPrhoMaterialProperties.cpp
index 89d2c20789ac69939d90d4b335df20238ad07a57..b7569a7b03a6b4143367bee57afbde9b7e591693 100644
--- a/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowPrhoMaterialProperties.cpp
+++ b/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowPrhoMaterialProperties.cpp
@@ -11,6 +11,7 @@
 #include "CreateTwoPhaseFlowPrhoMaterialProperties.h"
 
 #include "BaseLib/Algorithm.h"
+#include "BaseLib/ConfigTree.h"
 #include "BaseLib/Logging.h"
 #include "MaterialLib/Fluid/FluidProperty.h"
 #include "MaterialLib/PorousMedium/Porosity/Porosity.h"
diff --git a/ProcessLib/Utils/ProcessUtils.cpp b/ProcessLib/Utils/ProcessUtils.cpp
index e706ca76f4e50686d7bab8ac4ea8df970084da14..81833dea11278ba32c8b4fa92cedb9b4b861bad7 100644
--- a/ProcessLib/Utils/ProcessUtils.cpp
+++ b/ProcessLib/Utils/ProcessUtils.cpp
@@ -10,7 +10,9 @@
 
 #include "ProcessUtils.h"
 
+#include "BaseLib/Algorithm.h"
 #include "BaseLib/ConfigTree.h"
+#include "BaseLib/Error.h"
 #include "ProcessLib/ProcessVariable.h"
 
 namespace
diff --git a/Tests/MaterialLib/TestFluidDensity.cpp b/Tests/MaterialLib/TestFluidDensity.cpp
index 29d35b63783622571e5c56337f56f61d4e7f7194..c12dcc2c83d77ac999f75d59190e602117a549a8 100644
--- a/Tests/MaterialLib/TestFluidDensity.cpp
+++ b/Tests/MaterialLib/TestFluidDensity.cpp
@@ -15,6 +15,7 @@
 
 #include <memory>
 
+#include "BaseLib/ConfigTree.h"
 #include "MaterialLib/Fluid/Density/CreateFluidDensityModel.h"
 #include "MaterialLib/PhysicalConstant.h"
 #include "Tests/TestTools.h"
diff --git a/Tests/MaterialLib/TestFluidViscosity.cpp b/Tests/MaterialLib/TestFluidViscosity.cpp
index e0b90853d594dffe03e7b794a2494330d0e3fefc..c75df0a21f554940af933866b397f8aaf478592c 100644
--- a/Tests/MaterialLib/TestFluidViscosity.cpp
+++ b/Tests/MaterialLib/TestFluidViscosity.cpp
@@ -16,6 +16,7 @@
 #include <cmath>
 #include <memory>
 
+#include "BaseLib/ConfigTree.h"
 #include "MaterialLib/Fluid/Viscosity/CreateViscosityModel.h"
 #include "MaterialLib/PhysicalConstant.h"
 #include "Tests/TestTools.h"
diff --git a/Tests/ProcessLib/ComponentTransport/TestLookupTable.cpp b/Tests/ProcessLib/ComponentTransport/TestLookupTable.cpp
index ad917ea119db06bf74787e006242d0147d71614b..3f09a8f6c1dfe3e2cd20c8bce400abcc0dcc0990 100644
--- a/Tests/ProcessLib/ComponentTransport/TestLookupTable.cpp
+++ b/Tests/ProcessLib/ComponentTransport/TestLookupTable.cpp
@@ -12,10 +12,13 @@
 #include <cmath>
 #include <memory>
 
+#include "BaseLib/ConfigTree.h"
 #include "BaseLib/FileTools.h"
 #include "InfoLib/TestInfo.h"
+#include "MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.h"
 #include "MeshLib/Mesh.h"
 #include "MeshLib/MeshGenerators/MeshGenerator.h"
+#include "ParameterLib/Parameter.h"
 #include "ProcessLib/ComponentTransport/CreateLookupTable.h"
 #include "ProcessLib/ComponentTransport/LookupTable.h"
 #include "ProcessLib/ProcessVariable.h"