diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt
index 7089e718d85f3fbb3071e3428acb3391e9ddaa90..707f9c26c8ba6da7d4a08ef4ec899d44b5e9db29 100644
--- a/demo/CMakeLists.txt
+++ b/demo/CMakeLists.txt
@@ -10,22 +10,8 @@ if(AMDIS_FOUND)
 	SET(BASIS_LIBS ${AMDIS_LIBRARIES})
 endif(AMDIS_FOUND)
 
-# find tools-directory
-find_path(TOOLS_DIR NAMES "baseProblem" "diffuseDomain" DOC "path to tools directory in AMDiS-trunk dir" NO_DEFAULT_PATH)
-if (TOOLS_DIR)
-  if (NOT EXISTS ${TOOLS_DIR}/diffuseDomain/Helpers.h OR NOT EXISTS ${TOOLS_DIR}/baseProblems/BaseProblem.h)
-    message(FATAL_ERROR "Wrong tools directory! Directory must contain the subdirectories 'diffuseDomain' and 'baseProblems'")
-  endif()    
-else()
-  message(FATAL_ERROR "No tools-directory specified!")
-endif(TOOLS_DIR)
-
-include_directories(${TOOLS_DIR}/diffuseDomain)
-include_directories(${TOOLS_DIR}/baseProblems)
-
 set(ball src/ball.cc)
 set(bunny src/bunny.cc)
-set(cahn_hilliard src/cahn_hilliard.cc ${TOOLS_DIR}/baseProblems/CahnHilliard.cc)
 set(ellipt src/ellipt.cc)
 set(elliptBase src/elliptBaseProblem.cc)
 set(elliptImplicit src/elliptImplicit.cc)
@@ -38,6 +24,8 @@ set(sphere src/sphere.cc)
 set(torus src/torus.cc)
 set(vecellipt src/vecellipt.cc)
 set(vecheat src/vecheat.cc)
+set(rhsLaplace src/rhsLaplace.cc)
+set(laplace src/laplace.cc)
 
 add_executable("ball" ${ball})
 target_link_libraries("ball" ${BASIS_LIBS})
@@ -45,9 +33,6 @@ target_link_libraries("ball" ${BASIS_LIBS})
 add_executable("bunny" ${bunny})
 target_link_libraries("bunny" ${BASIS_LIBS})
 
-add_executable("cahn_hilliard" ${cahn_hilliard})
-target_link_libraries("cahn_hilliard" ${BASIS_LIBS})
-
 add_executable("ellipt" ${ellipt})
 target_link_libraries("ellipt" ${BASIS_LIBS})
 
@@ -84,5 +69,32 @@ target_link_libraries("vecellipt" ${BASIS_LIBS})
 add_executable("vecheat" ${vecheat})
 target_link_libraries("vecheat" ${BASIS_LIBS})
 
+# find tools-directory
+find_path(TOOLS_DIR NAMES "baseProblem" "diffuseDomain" DOC "Path to tools directory in AMDiS-trunk dir" NO_DEFAULT_PATH)
+if (TOOLS_DIR)
+  if (NOT EXISTS ${TOOLS_DIR}/diffuseDomain/Helpers.h OR NOT EXISTS ${TOOLS_DIR}/baseProblems/BaseProblem.h)
+    message(WARNING "Wrong tools directory! Directory must contain the subdirectories 'diffuseDomain' and 'baseProblems'")
+  else()
+
+    include_directories(${TOOLS_DIR}/diffuseDomain)
+    include_directories(${TOOLS_DIR}/baseProblems)
+
+
+    set(cahn_hilliard src/cahn_hilliard.cc ${TOOLS_DIR}/baseProblems/CahnHilliard.cc)
+    add_executable("cahn_hilliard" ${cahn_hilliard})
+    target_link_libraries("cahn_hilliard" ${BASIS_LIBS})
+
+    set(drivenCavity ${TOOLS_DIR}/diffuseDomain/POperators.cc
+		    ${TOOLS_DIR}/baseProblems/CahnHilliard.cc
+		    ${TOOLS_DIR}/baseProblems/NavierStokes_TaylorHood.cc
+		    src/chns/drivenCavity.cc)
+    add_executable("drivenCavity" ${drivenCavity})
+    target_link_libraries("drivenCavity" ${BASIS_LIBS})
+
+  endif()
+else()
+    message(WARNING "No tools directory specified! Some demos will not be build.")
+endif(TOOLS_DIR)
+
 #create the output dir
 # file(MAKE_DIRECTORY output)
\ No newline at end of file