diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d49a1e63..13e7ac49 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -24,7 +24,7 @@ add_subdirectory( blockforest )
add_subdirectory( boundary )
add_subdirectory( communication )
add_subdirectory( core )
-add_subdirectory(gpu)
+add_subdirectory( gpu )
add_subdirectory( domain_decomposition )
add_subdirectory( executiontree )
if ( WALBERLA_BUILD_WITH_FFT AND FFTW3_FOUND )
diff --git a/src/boundary/CMakeLists.txt b/src/boundary/CMakeLists.txt
index c122cbdd..7da3ebfe 100644
--- a/src/boundary/CMakeLists.txt
+++ b/src/boundary/CMakeLists.txt
@@ -14,4 +14,5 @@ target_sources( boundary
BoundaryHandlingCollection.h
Boundary.cpp
BoundaryUID.h
+ ShiftedPeriodicity.h
)
diff --git a/src/boundary/ShiftedPeriodicity.h b/src/boundary/ShiftedPeriodicity.h
new file mode 100644
index 00000000..ce2a32e5
--- /dev/null
+++ b/src/boundary/ShiftedPeriodicity.h
@@ -0,0 +1,611 @@
+//======================================================================================================================
+//
+// This file is part of waLBerla. waLBerla is free software: you can
+// redistribute it and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation, either version 3 of
+// the License, or (at your option) any later version.
+//
+// waLBerla is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with waLBerla (see COPYING.txt). If not, see .
+//
+//! \file ShiftedPeriodicity.h
+//! \ingroup boundary
+//! \author Helen Schottenhamml
+//
+//======================================================================================================================
+
+#include "blockforest/Block.h"
+#include "blockforest/BlockID.h"
+#include "blockforest/StructuredBlockForest.h"
+
+#include "core/DataTypes.h"
+#include "core/cell/CellInterval.h"
+#include "core/debug/CheckFunctions.h"
+#include "core/debug/Debug.h"
+#include "core/logging/Logging.h"
+#include "core/math/AABBFwd.h"
+#include "core/math/Vector3.h"
+#include "core/mpi/MPIWrapper.h"
+#include "core/mpi/MPIManager.h"
+
+#include "domain_decomposition/BlockDataID.h"
+#include "domain_decomposition/IBlock.h"
+#include "domain_decomposition/IBlockID.h"
+#include "domain_decomposition/MapPointToPeriodicDomain.h"
+
+#include
+#include
+#include
+#include