diff --git a/AMDiS/CMakeLists.txt b/AMDiS/CMakeLists.txt
index 617a1946020f23cba35576ebd4362b6e39d5b42a..ea22a47877e3663b75f30e380b5c68078d42a3ad 100644
--- a/AMDiS/CMakeLists.txt
+++ b/AMDiS/CMakeLists.txt
@@ -21,9 +21,9 @@ endif()
 #option(ENABLE_INTEL "use intel compiler" false)
 option(ENABLE_OPENMP "use openmp" false)
 option(ENABLE_PARALLEL_DOMAIN "use parallel domain decomposition" false)
+#parmetis is not optional
 set(ENABLE_PARMETIS off)
-#SET(PETSC_DIR "" CACHE PATH "Petsc directory for parallel domain decomposition" )
-#SET(PETSC_ARCH "" CACHE STRING "Petsc architecture")
+option(ENABLE_ZOLTAN off)
 option(ENABLE_UMFPACK "use umfpack solver" false)
 option(ENABLE_MKL "use the mkl" false)
 SET(MKL_DIR "" CACHE PATH "MKL directory")
@@ -180,13 +180,17 @@ if(ENABLE_PARALLEL_DOMAIN)
 		DESTINATION lib/amdis/parmetis
 	       )
 	set(ENABLE_PARMETIS ON)
-	find_file(ZOLTAN_HEADER_DIR "zoltan_cpp.h")
-	if( ZOLTAN_HEADER_DIR )
-		get_filename_component(ZOLTAN_HEADER_DIR "${ZOLTAN_HEADER_DIR}" PATH CACHE)
+	if(ENABLE_ZOLTAN)
+	  find_file(ZOLTAN_HEADER_FILE "zoltan_cpp.h")
+	  if( ZOLTAN_HEADER_FILE )
+		get_filename_component(ZOLTAN_HEADER_DIR "${ZOLTAN_HEADER_FILE}" PATH CACHE)
 		include_directories(${ZOLTAN_HEADER_DIR})
-	else()
+	  else()
 		message( FATAL_ERROR "could not find zoltan.")
-	endif( ZOLTAN_HEADER_DIR )
+	  endif( ZOLTAN_HEADER_FILE )
+	  set(COMPILEFLAGS "${COMPILEFLAGS} -DHAVE_ZOLTAN")
+	endif(ENABLE_ZOLTAN)
+
 	set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};/usr/share/cmake-2.8/Modules/;${CMAKE_SOURCE_DIR}/")
 	set(PETSC_EXECUTABLE_RUNS ON)
 	find_package(PETSc REQUIRED)
@@ -200,7 +204,7 @@ if(ENABLE_PARALLEL_DOMAIN)
 		${SOURCE_DIR}/parallel/ParallelDebug.cc
 		${SOURCE_DIR}/parallel/ParallelProblemStatBase.cc
                 ${SOURCE_DIR}/parallel/ParMetisPartitioner.cc
-		$(SOURCE_DIR)/parallel/PetscProblemStat.cc
+		${SOURCE_DIR}/parallel/PetscProblemStat.cc
 		${SOURCE_DIR}/parallel/PetscSolver.cc
 		${SOURCE_DIR}/parallel/StdMpi.cc
 		${SOURCE_DIR}/parallel/ZoltanPartitioner.cc)
@@ -269,7 +273,7 @@ if(ENABLE_MKL)
 	SET(COMPILEFLAGS "${COMPILEFLAGS} -DHAVE_MKL=1")
 endif(ENABLE_MKL)
 
-SET(COMPOSITE_SOURCE_DIR ${SOURCE_DIR)/compositeFEM)
+SET(COMPOSITE_SOURCE_DIR ${SOURCE_DIR}/compositeFEM)
 SET(COMPOSITE_FEM_SRC ${COMPOSITE_SOURCE_DIR}/CFE_Integration.cc 
 		      ${COMPOSITE_SOURCE_DIR}/CFE_NormAndErrorFcts.cc 
 		      ${COMPOSITE_SOURCE_DIR}/CompositeFEMMethods.cc 
@@ -280,14 +284,20 @@ SET(COMPOSITE_FEM_SRC ${COMPOSITE_SOURCE_DIR}/CFE_Integration.cc
 		      ${COMPOSITE_SOURCE_DIR}/SubPolytope.cc 
 		      ${COMPOSITE_SOURCE_DIR}/SubElementAssembler.cc )
 
+set(REINIT_SOURCE_DIR ${SOURCE_DIR}/reinit)
+file(GLOB REINIT_SRC ${REINIT_SOURCE_DIR}/*.cc)
+include_directories(${REINIT_SOURCE_DIR})
+
 #mtl4 includes
 include_directories(${MTL_DIR})
 include_directories(${SOURCE_DIR})
 
 add_library(amdis SHARED ${AMDIS_SRC} ${PARALLEL_DOMAIN_AMDIS_SRC})
 add_library(compositeFEM SHARED ${COMPOSITE_FEM_SRC})
+add_library(reinit STATIC ${REINIT_SRC})
 target_link_libraries(compositeFEM amdis)
 LIST(APPEND AMDiS_LIBS amdis boost_system boost_iostreams)
+
 if(WIN32)
 	SET(COMPILEFLAGS "${COMPILEFLAGS} -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS")
 endif(WIN32)