diff --git a/AMDiS/AMDISConfig.cmake.in b/AMDiS/AMDISConfig.cmake.in
index e23fb4b9feb7dbf3642af31aed2870398e6492bc..fce5e1081008deab9cc0c33d3c08edbde90d0ad7 100644
--- a/AMDiS/AMDISConfig.cmake.in
+++ b/AMDiS/AMDISConfig.cmake.in
@@ -45,7 +45,7 @@ find_library(_AMDIS_LIB amdis PATHS ${AMDIS_LIBRARY_DIR} ${AMDIS_DIR}/../../lib/
 if(_AMDIS_LIB)
 	get_filename_component(AMDIS_LIBRARY_DIR ${_AMDIS_LIB} PATH CACHE)
 	set(AMDIS_LIBRARY_DIRS ${AMDIS_LIBRARY_DIR})
-	set(AMDIS_LIBRARIES "${_AMDIS_LIB};${AMDIS_LIBRARY_DIR}/libcompositeFEM.so;${AMDIS_LIBRARY_DIR}/libreinit.so;${AMDIS_LIBRARY_DIR}/libmuparser.so" CACHE STRING "amdis libraries")
+	set(AMDIS_LIBRARIES "${_AMDIS_LIB};${AMDIS_LIBRARY_DIR}/libmuparser.so" CACHE STRING "amdis libraries")
 else()
 	message(ERROR "could not detect the AMDiS library directory. Please set the variable AMDIS_LIBRARY_DIR to the directory containg the AMDiS library")
 endif()
@@ -181,6 +181,9 @@ list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/reinit)
 list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/compositeFEM)
 list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/muparser)
 
+list(APPEND AMDIS_LIBRARIES ${AMDIS_LIBRARY_DIR}/libcompositeFEM.so)	
+list(APPEND AMDIS_LIBRARIES ${AMDIS_LIBRARY_DIR}/libreinit.so)	
+
 if(${AMDIS_FIND_COMPONENTS} MATCHES umfpack )
 	if(NOT AMDIS_NEED_UMFPACK)
 	  set(AMDIS_umfpack_FOUND FALSE)
@@ -199,3 +202,4 @@ if(AMDIS_NEED_ZOLTAN)
 		message(FATAL_ERROR "Could not find zoltan library!")
 	endif()
 endif()
+
diff --git a/AMDiS/CMakeLists.txt b/AMDiS/CMakeLists.txt
index d9368da351bf51949680f554a05e424e19c0375a..db86fa5a96365477bf5916f2ac76d9aedfb59412 100644
--- a/AMDiS/CMakeLists.txt
+++ b/AMDiS/CMakeLists.txt
@@ -397,6 +397,8 @@ if(ENABLE_EXTENSIONS)
       if(ENABLE_BASE_PROBLEMS)
 	  SET(BASE_PROBLEMS_SRC
 		  ${EXTENSIONS_DIR}/base_problems/CahnHilliard.cc
+		  ${EXTENSIONS_DIR}/base_problems/CahnHilliard_RB.cc
+		  ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes.cc
     # 	      ${EXTENSIONS_DIR}/base_problems/DiffuseDomainFsi.cc
 		  ${EXTENSIONS_DIR}/base_problems/LinearElasticity.cc
 		  ${EXTENSIONS_DIR}/base_problems/LinearElasticityPhase.cc
diff --git a/AMDiS/src/DOFVector.h b/AMDiS/src/DOFVector.h
index 031835ef52126abb73be239618b8e4b61a2bdf9d..f8f43606cacea7d732f1da7886edc6c25d99c390 100644
--- a/AMDiS/src/DOFVector.h
+++ b/AMDiS/src/DOFVector.h
@@ -909,9 +909,9 @@ namespace AMDiS {
   
   template<typename TOut, typename T>
   TOut integrate(const DOFVector<T> &vec,
-		  AbstractFunction<TOut, T> *fct)
+		  AbstractFunction<TOut, T> *fct = NULL)
   {
-    return integrate_Vec(vec, fct);
+    return fct == NULL ? vec.Int() : integrate_Vec(vec, fct);
   }
   
   /** \brief
diff --git a/AMDiS/src/Functors.h b/AMDiS/src/Functors.h
index 73cdb35c132a401e1710a10d0f98313ca5234588..3b48d8c80b4111543a895a6bdf09a692bf6c47ca 100644
--- a/AMDiS/src/Functors.h
+++ b/AMDiS/src/Functors.h
@@ -133,14 +133,14 @@ private:
   double p;
 };
 
-template<typename T1, typename T2>
-struct Norm2 : public AbstractFunction<T1,T2>
+template<typename T1, typename T2 = ProductType<T1, T1> >
+struct Norm2 : public AbstractFunction<T1, T2>
 {
   T1 operator()(const T2 &v) const { return sqrt(v*v); }
 };
 
 template<typename T1, typename T2>
-struct Norm2Sqr : public AbstractFunction<T1,T2>
+struct Norm2Sqr : public AbstractFunction<T1, T2>
 {
   T1 operator()(const T2 &v) const { return v*v; }
 };
@@ -215,7 +215,6 @@ struct FadeOut : public TertiaryAbstractFunction<double, double, double ,double>
     return dist*mean+(1.0-dist)*v;
   }
 };
-
 }
 
 #endif // AMDIS_FUNCTORS_H