diff --git a/alib2common/src/debug/New.cpp b/alib2common/src/debug/New.cpp
index c23d74728cf66ba2ca78263f09a019672ae5d4d0..3141e741e0bd3d018a4dc5172a46dbcbdbfe1e0f 100644
--- a/alib2common/src/debug/New.cpp
+++ b/alib2common/src/debug/New.cpp
@@ -13,3 +13,7 @@ void * operator new( std::size_t n ) {
 void operator delete( void * ptr ) noexcept {
 	operator delete( ptr, true );
 }
+
+void operator delete( void * ptr, std::size_t ) noexcept {
+	operator delete( ptr, true );
+}
diff --git a/alib2std/src/extensions/memory.hpp b/alib2std/src/extensions/memory.hpp
index b1c609277e1bb4ed865912e6b01879268c9b69bf..7b3ad3700459991219c1f9c231d627f84d38207c 100644
--- a/alib2std/src/extensions/memory.hpp
+++ b/alib2std/src/extensions/memory.hpp
@@ -419,17 +419,6 @@ struct compare < smart_ptr < T > > {
 
 };
 
- // TODO remove after switching to c++14
-template < typename T, typename ... Args >
-std::unique_ptr < T > make_unique ( Args && ... args ) {
-	return std::unique_ptr < T > ( new T ( std::forward < Args > ( args ) ... ) );
-}
-
-template < typename T, typename ... Args >
-std::smart_ptr < T > make_smart ( Args && ... args ) {
-	return std::smart_ptr < T > ( new T ( std::forward < Args > ( args ) ... ) );
-}
-
 } /* namespace std */
 
 #endif /* __MEMORY_HPP_ */
diff --git a/alib2std/src/extensions/utility.hpp b/alib2std/src/extensions/utility.hpp
index 0b7e1198c24cbed88575cac8417c35687f3be1a6..b0cf8273145fe011f0ef362a91eae1c340015abc 100644
--- a/alib2std/src/extensions/utility.hpp
+++ b/alib2std/src/extensions/utility.hpp
@@ -78,29 +78,6 @@ inline const T & make_const ( const T & ptr ) {
 	return ptr;
 }
 
- // TODO remove after switching to c++14
-template < size_t ... I >
-struct index_sequence {
-	typedef index_sequence < I ... > type;
-};
-
-template < size_t N, size_t ... I >
-struct make_index_sequence_helper : make_index_sequence_helper < N - 1, N - 1, I ... > {
-};
-
-template < size_t ... I >
-struct make_index_sequence_helper < 0, I ... > {
-	typedef index_sequence < I ... > type;
-};
-
-template < size_t N >
-struct make_index_sequence : make_index_sequence_helper < N >::type {
-};
-
-template < typename ... T >
-struct index_sequence_for : make_index_sequence < sizeof ... ( T ) > {
-};
-
 } /* namespace std */
 
 #endif /* __UTILITY_HPP_ */
diff --git a/makefile-binary b/makefile-binary
index 29d70083726e9860857635b5bb0d1f3f60214ed0..5d0382b6993d881a56b3cf7e8a98b11fbfcfae42 100644
--- a/makefile-binary
+++ b/makefile-binary
@@ -57,7 +57,7 @@ FORCE:
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -pipe -std=c++11 \$$(CXX_OTHER_FLAGS) -c $(CXX_FLAGS) -fPIC \$$(addprefix -I, \$$(realpath $(INCLUDE_PATHS)))$${NEW_LINE}\
+	CXXFLAGS:= -pipe -std=c++14 \$$(CXX_OTHER_FLAGS) -c $(CXX_FLAGS) -fPIC \$$(addprefix -I, \$$(realpath $(INCLUDE_PATHS)))$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find \$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst \$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, \$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\
diff --git a/makefile-library b/makefile-library
index 481a9469f6ed824cda03672edc723687546ca20f..d7837275b4de654053fa42949cf1f03b7116b402 100644
--- a/makefile-library
+++ b/makefile-library
@@ -64,7 +64,7 @@ FORCE:
 	$${NEW_LINE}\
 	export NEW_LINE$${NEW_LINE}\
 	$${NEW_LINE}\
-	CXXFLAGS:= -pipe -std=c++11 \$$(CXX_OTHER_FLAGS) -c $(CXX_FLAGS) -fPIC \$$(addprefix -I, \$$(realpath $(INCLUDE_PATHS))) -I\$$(realpath \$$(SOURCES_BASE_DIR)/../src/)$${NEW_LINE}\
+	CXXFLAGS:= -pipe -std=c++14 \$$(CXX_OTHER_FLAGS) -c $(CXX_FLAGS) -fPIC \$$(addprefix -I, \$$(realpath $(INCLUDE_PATHS))) -I\$$(realpath \$$(SOURCES_BASE_DIR)/../src/)$${NEW_LINE}\
 	$${NEW_LINE}\
 	SOURCES:= \$$(shell find \$$(SOURCES_BASE_DIR)/\$$(SRCDIR) -maxdepth 1 -type f -name \"*.cpp\")$${NEW_LINE}\
 	DEPENDENCIES:= \$$(patsubst \$$(SOURCES_BASE_DIR)/\$$(SRCDIR)%.cpp, \$$(OBJECTS_BASE_DIR)/\$$(SRCDIR)%.d, \$$(SOURCES))$${NEW_LINE}\