diff --git a/src/core/math/Matrix2.h b/src/core/math/Matrix2.h
index 87b41821e01dc77efd2e2daffc82382ada132980..3dae71c58038bb2e4a58c3ad0e8d73c3247de23d 100644
--- a/src/core/math/Matrix2.h
+++ b/src/core/math/Matrix2.h
@@ -841,7 +841,7 @@ inline const Matrix2<Type> fabs( const Matrix2<Type>& m );
 //template< typename Type, typename Other >
 //inline const Matrix2<HIGH> operator*( Other scalar, const Matrix2<Type>& matrix )
 //{
-//   static_assert( ! boost::is_scalar<Other>::value, "Only scalar types allowed" );
+//   static_assert( ! std::is_scalar<Other>::value, "Only scalar types allowed" );
 //   return matrix*scalar;
 //}
 //**********************************************************************************************************************
diff --git a/src/core/mpi/BufferSystem.impl.h b/src/core/mpi/BufferSystem.impl.h
index 483013860cfb65df8c0892ac770ec21057b89953..240f49a0c9431bb8fac7a4c0738daffdc8ce957c 100644
--- a/src/core/mpi/BufferSystem.impl.h
+++ b/src/core/mpi/BufferSystem.impl.h
@@ -520,8 +520,6 @@ void GenericBufferSystem<Rb, Sb>::setCommunicationType( const bool knownSize )
 //
 //======================================================================================================================
 
-// using boost::counting_range didn't work on all supported compilers
-// so the range is created explicitly
 template< typename Rb, typename Sb>
 typename GenericBufferSystem<Rb, Sb>::RankRange GenericBufferSystem<Rb,Sb>::noRanks()
 {
diff --git a/src/core/uid/UIDGenerators.h b/src/core/uid/UIDGenerators.h
index 7c762b9a125f325bc90f909e070c2779d2f7b3a7..0e913b16a100773e9f2aa149c55e2320a51684a4 100644
--- a/src/core/uid/UIDGenerators.h
+++ b/src/core/uid/UIDGenerators.h
@@ -153,7 +153,7 @@ public:
 
 // http://graphics.stanford.edu/~seander/bithacks.html
 
-static const boost::uint8_t logBase2LookupTable[256] =
+static const uint8_t logBase2LookupTable[256] =
 {
 #define logBase2LT(n) n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n
       0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
@@ -164,9 +164,9 @@ static const boost::uint8_t logBase2LookupTable[256] =
 
 template< typename UINT > size_t logBase2( UINT value ); // 1000 -> 3, 0010 -> 1, 0001 -> 0, etc.
 
-template<> inline size_t logBase2< boost::uint64_t >( boost::uint64_t value ) {
+template<> inline size_t logBase2< uint64_t >( uint64_t value ) {
 
-   boost::uint64_t i, j;
+   uint64_t i, j;
 
    i = value >> 32;
    if( i != 0 ) {
@@ -187,9 +187,9 @@ template<> inline size_t logBase2< boost::uint64_t >( boost::uint64_t value ) {
    return ( i != 0 ) ? (8 + logBase2LookupTable[i]) : logBase2LookupTable[value];
 }
 
-template<> inline size_t logBase2< boost::uint32_t >( boost::uint32_t value ) {
+template<> inline size_t logBase2< uint32_t >( uint32_t value ) {
 
-   boost::uint32_t i, j;
+   uint32_t i, j;
 
    j = value >> 16;
    if( j != 0 ) {
diff --git a/src/domain_decomposition/BlockStorage.cpp b/src/domain_decomposition/BlockStorage.cpp
index edf5092afd72a035ace886d17966f5d28a342c91..bda4c82ed0ec168216da614f0b6b8f59c2c610ca 100644
--- a/src/domain_decomposition/BlockStorage.cpp
+++ b/src/domain_decomposition/BlockStorage.cpp
@@ -40,7 +40,7 @@ namespace domain_decomposition {
 //**********************************************************************************************************************
 /*!
 *   For documentation, see documentation of free function
-*   'void mapPointToPeriodicDomain( const boost::array< bool, 3 > & periodic, const AABB & domain,
+*   'void mapPointToPeriodicDomain( const std::array< bool, 3 > & periodic, const AABB & domain,
 *                                   real_t & x, real_t & y, real_t & z )'
 */
 //**********************************************************************************************************************
@@ -57,7 +57,7 @@ void BlockStorage::mapToPeriodicDomain( real_t & x, real_t & y, real_t & z ) con
 //**********************************************************************************************************************
 /*!
 *   For documentation, see documentation of free function
-*   'bool periodicIntersect( const boost::array< bool, 3 > & periodic, const math::AABB & domain, const math::AABB & box1, const math::AABB & box2 )'
+*   'bool periodicIntersect( const std::array< bool, 3 > & periodic, const math::AABB & domain, const math::AABB & box1, const math::AABB & box2 )'
 */
 //**********************************************************************************************************************
 bool BlockStorage::periodicIntersect( const math::AABB & box1, const math::AABB & box2 ) const
diff --git a/src/domain_decomposition/BlockStorage.h b/src/domain_decomposition/BlockStorage.h
index b0662742e2c92a1494db0b09290f9607a50f489b..34789a47b625f8db032975c470a8efdff312e51b 100644
--- a/src/domain_decomposition/BlockStorage.h
+++ b/src/domain_decomposition/BlockStorage.h
@@ -35,7 +35,6 @@
 #include "core/uid/SUID.h"
 
 #include <functional>
-//#include <boost/type_traits/is_base_of.hpp>
 #include <string>
 #include <vector>
 
@@ -660,7 +659,7 @@ template< typename T >
 inline BlockDataID BlockStorage::addBlockData( const shared_ptr< T > & dataHandling, const std::string & identifier,
                                                const Set<SUID> & requiredSelectors, const Set<SUID> & incompatibleSelectors )
 {
-   //static_assert( boost::is_base_of< BlockDataHandling<typename T::value_type>, T >::value );
+   //static_assert( std::is_base_of< BlockDataHandling<typename T::value_type>, T >::value );
    internal::SelectableBlockDataHandlingWrapper sbdhw( walberla::make_shared< internal::BlockDataHandlingHelper<typename T::value_type> >( dataHandling ),
                                                        requiredSelectors, incompatibleSelectors, identifier );
 
diff --git a/src/domain_decomposition/MapPointToPeriodicDomain.h b/src/domain_decomposition/MapPointToPeriodicDomain.h
index 21107b075bd2f35785642cd41a6e169f8145cbd9..0835af1809046737d876b8cbfa99001138be7eb4 100644
--- a/src/domain_decomposition/MapPointToPeriodicDomain.h
+++ b/src/domain_decomposition/MapPointToPeriodicDomain.h
@@ -46,7 +46,7 @@ void mapPointToPeriodicDomain( const std::array< bool, 3 > & periodic, const AAB
 
 
 
-/// see documetation of 'void mapPointToPeriodicDomain( const boost::array< bool, 3 > & periodic, const AABB & domain, real_t & x, real_t & y, real_t & z )'
+/// see documetation of 'void mapPointToPeriodicDomain( const std::array< bool, 3 > & periodic, const AABB & domain, real_t & x, real_t & y, real_t & z )'
 inline void mapPointToPeriodicDomain( const std::array< bool, 3 > & periodic, const AABB & domain, Vector3< real_t > & p )
 {
    mapPointToPeriodicDomain( periodic, domain, p[0], p[1], p[2] );
@@ -54,7 +54,7 @@ inline void mapPointToPeriodicDomain( const std::array< bool, 3 > & periodic, co
 
 
 
-/// see documetation of 'void mapPointToPeriodicDomain( const boost::array< bool, 3 > & periodic, const AABB & domain, real_t & x, real_t & y, real_t & z )'
+/// see documetation of 'void mapPointToPeriodicDomain( const std::array< bool, 3 > & periodic, const AABB & domain, real_t & x, real_t & y, real_t & z )'
 inline Vector3< real_t > mapPointToPeriodicDomain( const std::array< bool, 3 > & periodic, const AABB & domain, const Vector3< real_t > & p )
 {
    Vector3< real_t > point( p );