diff --git a/ProcessLib/BoundaryCondition/BHEBottomDirichletBoundaryCondition.cpp b/ProcessLib/HeatTransportBHE/BoundaryConditions/BHEBottomDirichletBoundaryCondition.cpp
similarity index 95%
rename from ProcessLib/BoundaryCondition/BHEBottomDirichletBoundaryCondition.cpp
rename to ProcessLib/HeatTransportBHE/BoundaryConditions/BHEBottomDirichletBoundaryCondition.cpp
index 591a3fe5d50caa703e7fcd966a8abd4c205ecba1..a5fe40e840bf3093a0ac2960ed1f27b3b4d547e7 100644
--- a/ProcessLib/BoundaryCondition/BHEBottomDirichletBoundaryCondition.cpp
+++ b/ProcessLib/HeatTransportBHE/BoundaryConditions/BHEBottomDirichletBoundaryCondition.cpp
@@ -1,4 +1,5 @@
 /**
+ * \file
  * \copyright
  * Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
  *            Distributed under a Modified BSD License.
@@ -10,7 +11,7 @@
 #include "BHEBottomDirichletBoundaryCondition.h"
 #include "BaseLib/Error.h"
 
-namespace ProcessLib
+namespace ProcessLib::HeatTransportBHE
 {
 void BHEBottomDirichletBoundaryCondition::getEssentialBCValues(
     const double /*t*/, GlobalVector const& x,
@@ -54,4 +55,4 @@ createBHEBottomDirichletBoundaryCondition(
     return std::make_unique<BHEBottomDirichletBoundaryCondition>(
         std::move(in_out_global_indices));
 }
-}  // namespace ProcessLib
+}  // namespace ProcessLib::HeatTransportBHE
diff --git a/ProcessLib/BoundaryCondition/BHEBottomDirichletBoundaryCondition.h b/ProcessLib/HeatTransportBHE/BoundaryConditions/BHEBottomDirichletBoundaryCondition.h
similarity index 87%
rename from ProcessLib/BoundaryCondition/BHEBottomDirichletBoundaryCondition.h
rename to ProcessLib/HeatTransportBHE/BoundaryConditions/BHEBottomDirichletBoundaryCondition.h
index 73c8edde3a53cde50073ed1a5365a52b17ad11cc..ec4667f225652e8182dec3297a384ae391d04754 100644
--- a/ProcessLib/BoundaryCondition/BHEBottomDirichletBoundaryCondition.h
+++ b/ProcessLib/HeatTransportBHE/BoundaryConditions/BHEBottomDirichletBoundaryCondition.h
@@ -1,4 +1,5 @@
 /**
+ * \file
  * \copyright
  * Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
  *            Distributed under a Modified BSD License.
@@ -9,10 +10,10 @@
 
 #pragma once
 
-#include "BoundaryCondition.h"
 #include "NumLib/IndexValueVector.h"
+#include "ProcessLib/BoundaryCondition/BoundaryCondition.h"
 
-namespace ProcessLib
+namespace ProcessLib::HeatTransportBHE
 {
 class BHEBottomDirichletBoundaryCondition final : public BoundaryCondition
 {
@@ -34,4 +35,4 @@ private:
 std::unique_ptr<BHEBottomDirichletBoundaryCondition>
 createBHEBottomDirichletBoundaryCondition(
     std::pair<GlobalIndexType, GlobalIndexType>&& in_out_global_indices);
-}  // namespace ProcessLib
+}  // namespace ProcessLib::HeatTransportBHE
diff --git a/ProcessLib/BoundaryCondition/BHEInflowDirichletBoundaryCondition.h b/ProcessLib/HeatTransportBHE/BoundaryConditions/BHEInflowDirichletBoundaryCondition.h
similarity index 94%
rename from ProcessLib/BoundaryCondition/BHEInflowDirichletBoundaryCondition.h
rename to ProcessLib/HeatTransportBHE/BoundaryConditions/BHEInflowDirichletBoundaryCondition.h
index dc32752d66a433b60e30f344bd62f94d9d789001..a45bc0b9e38acf32d288cabde27d0fc2dbaa7db4 100644
--- a/ProcessLib/BoundaryCondition/BHEInflowDirichletBoundaryCondition.h
+++ b/ProcessLib/HeatTransportBHE/BoundaryConditions/BHEInflowDirichletBoundaryCondition.h
@@ -1,4 +1,5 @@
 /**
+ * \file
  * \copyright
  * Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
  *            Distributed under a Modified BSD License.
@@ -9,10 +10,10 @@
 
 #pragma once
 
-#include "BoundaryCondition.h"
 #include "NumLib/IndexValueVector.h"
+#include "ProcessLib/BoundaryCondition/BoundaryCondition.h"
 
-namespace ProcessLib
+namespace ProcessLib::HeatTransportBHE
 {
 template <typename BHEUpdateCallback>
 class BHEInflowDirichletBoundaryCondition final : public BoundaryCondition
@@ -75,4 +76,4 @@ createBHEInflowDirichletBoundaryCondition(
         BHEInflowDirichletBoundaryCondition<BHEUpdateCallback>>(
         std::move(in_out_global_indices), bhe_update_callback);
 }
-}  // namespace ProcessLib
+}  // namespace ProcessLib::HeatTransportBHE
diff --git a/ProcessLib/HeatTransportBHE/CMakeLists.txt b/ProcessLib/HeatTransportBHE/CMakeLists.txt
index 76f61d448c91b312dccc5c228465d434d5938611..b9501a6007a31edcd395b0d12684469f30141ee9 100644
--- a/ProcessLib/HeatTransportBHE/CMakeLists.txt
+++ b/ProcessLib/HeatTransportBHE/CMakeLists.txt
@@ -1,5 +1,6 @@
 APPEND_SOURCE_FILES(SOURCES)
 APPEND_SOURCE_FILES(SOURCES BHE)
+APPEND_SOURCE_FILES(SOURCES BoundaryConditions)
 APPEND_SOURCE_FILES(SOURCES LocalAssemblers)
 
 add_library(HeatTransportBHE ${SOURCES})
diff --git a/ProcessLib/HeatTransportBHE/HeatTransportBHEProcess.cpp b/ProcessLib/HeatTransportBHE/HeatTransportBHEProcess.cpp
index fa34488ae0f8c655a40ec5e9748b043f99a36f8d..c5ec1b9ef0e71656b0ebe3ae64447af069d39e8b 100644
--- a/ProcessLib/HeatTransportBHE/HeatTransportBHEProcess.cpp
+++ b/ProcessLib/HeatTransportBHE/HeatTransportBHEProcess.cpp
@@ -16,8 +16,8 @@
 #include "ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE.h"
 #include "ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerSoil.h"
 
-#include "ProcessLib/BoundaryCondition/BHEBottomDirichletBoundaryCondition.h"
-#include "ProcessLib/BoundaryCondition/BHEInflowDirichletBoundaryCondition.h"
+#include "BoundaryConditions/BHEBottomDirichletBoundaryCondition.h"
+#include "BoundaryConditions/BHEInflowDirichletBoundaryCondition.h"
 
 namespace ProcessLib
 {
@@ -241,7 +241,7 @@ void HeatTransportBHEProcess::createBHEBoundaryConditionTopBottom(
             {
                 // Top, inflow.
                 bcs.addBoundaryCondition(
-                    ProcessLib::createBHEInflowDirichletBoundaryCondition(
+                    createBHEInflowDirichletBoundaryCondition(
                         get_global_bhe_bc_indices(bc_top_node_id,
                                                   in_out_component_id),
                         [&bhe](double const T, double const t) {
@@ -250,7 +250,7 @@ void HeatTransportBHEProcess::createBHEBoundaryConditionTopBottom(
 
                 // Bottom, outflow.
                 bcs.addBoundaryCondition(
-                    ProcessLib::createBHEBottomDirichletBoundaryCondition(
+                    createBHEBottomDirichletBoundaryCondition(
                         get_global_bhe_bc_indices(bc_bottom_node_id,
                                                   in_out_component_id)));
             }