diff --git a/pythonbindings/src/cpu/submodules/boundaryconditions.cpp b/pythonbindings/src/cpu/submodules/boundaryconditions.cpp
index 8ab64a7a5037d134563eaac4e836f72e89c4ec77..890add492b699dde52a6c98ad52a5b28d632a464 100644
--- a/pythonbindings/src/cpu/submodules/boundaryconditions.cpp
+++ b/pythonbindings/src/cpu/submodules/boundaryconditions.cpp
@@ -33,14 +33,14 @@
 #include "BCStrategy.h"
 #include <pybind11/pybind11.h>
 #include <pybind11/stl.h>
-#include <BoundaryConditions/DensityBC.h>
-#include <BoundaryConditions/NonReflectingOutflowBCStrategy.h>
+#include <BoundaryConditions/PressureNonEquilibrium.h>
+#include <BoundaryConditions/OutflowNonReflecting.h>
 #include <BoundaryConditions/BC.h>
 #include <BoundaryConditions/NoSlipBC.h>
 #include <BoundaryConditions/VelocityBC.h>
-#include <BoundaryConditions/NoSlipBCStrategy.h>
-#include <BoundaryConditions/VelocityBCStrategy.h>
-#include <BoundaryConditions/HighViscosityNoSlipBCStrategy.h>
+#include <BoundaryConditions/PressureBC.h>
+#include <BoundaryConditions/NoSlipInterpolated.h>
+#include <BoundaryConditions/VelocityInterpolated.h>
 
 namespace boundaryconditions
 {
@@ -70,13 +70,10 @@ namespace boundaryconditions
 
         auto _ = py::class_<BC, std::shared_ptr<BC>>(bcModule, "BC");
 
-        bc_class<NoSlipBC, NoSlipBCStrategy>(bcModule, "NoSlipBoundaryCondition")
+        bc_class<NoSlipBC, NoSlipInterpolated>(bcModule, "NoSlipBoundaryCondition")
                 .def(py::init());
 
-        bc_class<NoSlipBC, HighViscosityNoSlipBCStrategy>(bcModule, "HighViscosityNoSlipBoundaryCondition")
-                .def(py::init());
-
-        bc_class<VelocityBC, VelocityBCStrategy>(bcModule, "VelocityBoundaryCondition")
+        bc_class<VelocityBC, VelocityInterpolated>(bcModule, "VelocityBoundaryCondition")
                 .def(py::init())
                 .def(py::init<bool &, bool &, bool &, mu::Parser &, real &, real &>(),
                      "vx1"_a, "vx2"_a, "vx3"_a,
@@ -90,7 +87,7 @@ namespace boundaryconditions
                      "vx2"_a, "vx2_start_time"_a, "vx2_end_time"_a,
                      "vx3"_a, "vx3_start_time"_a, "vx3_end_time"_a);
 
-        bc_class<DensityBC, NonReflectingOutflowBCStrategy>(bcModule, "NonReflectingOutflow")
+        bc_class<PressureBC, OutflowNonReflecting>(bcModule, "NonReflectingOutflow")
                 .def(py::init());
     }
 
diff --git a/src/cpu/simulationconfig/KernelFactory.cpp b/src/cpu/simulationconfig/KernelFactory.cpp
index 27bd3a3d07077bc5a8e79027a6c9cee626bbae2b..4e935435ec4a453b6d7a06547b6abf6192c1b409 100644
--- a/src/cpu/simulationconfig/KernelFactory.cpp
+++ b/src/cpu/simulationconfig/KernelFactory.cpp
@@ -1,6 +1,6 @@
 #include <LBM/LBMKernel.h>
 #include <LBM/K17CompressibleNavierStokes.h>
-#include <LBM/BGKLBMKernel.h>
+#include <LBM/B92IncompressibleNavierStokes.h>
 #include <simulationconfig/D3Q27LBMSystem.h>
 #include "simulationconfig/KernelFactory.h"
 
@@ -8,7 +8,7 @@ std::shared_ptr<LBMKernel> KernelFactory::makeKernel(KernelType kernelType)
 {
     switch (kernelType) {
         case BGK:
-            return std::shared_ptr<LBMKernel>(new BGKLBMKernel());
+            return std::shared_ptr<LBMKernel>(new B92IncompressibleNavierStokes());
         case COMPRESSIBLE_CUMULANT_4TH_ORDER_VISCOSITY:
             return std::shared_ptr<LBMKernel>(new K17CompressibleNavierStokes());
         default:
diff --git a/src/cpu/simulationconfig/Simulation.cpp b/src/cpu/simulationconfig/Simulation.cpp
index 35fca4a47253c2ff50b93ea341409792a4b7f6a0..5bb43990d960f9272fb68291a49f774162cdf608 100644
--- a/src/cpu/simulationconfig/Simulation.cpp
+++ b/src/cpu/simulationconfig/Simulation.cpp
@@ -77,7 +77,6 @@ void CPUSimulation::addObject(const std::shared_ptr<GbObject3D> &object, const s
 void CPUSimulation::addBCAdapter(const std::shared_ptr<BC> &bcAdapter)
 {
     registeredAdapters.insert(bcAdapter);
-    this->bcVisitor.addBC(bcAdapter);
 }
 
 void CPUSimulation::setKernelConfiguration(const std::shared_ptr<LBMKernelConfiguration> &kernel)