diff --git a/AMDiS/src/Assembler.cc b/AMDiS/src/Assembler.cc
index 544580410b443309ef58819ebb097318602fa225..8cf02ef712846022a0e5393319945275a42f4c12 100644
--- a/AMDiS/src/Assembler.cc
+++ b/AMDiS/src/Assembler.cc
@@ -324,9 +324,7 @@ namespace AMDiS {
       calculateElementMatrix(elInfo, elementMatrix);
     }
 
-    // eventuell einfach
     // vec = elementMatrix*uhOldLoc;
-    // schreiben
     for (int i = 0; i < nRow; i++) {
       double val = 0.0;
       for (int j = 0; j < nCol; j++)
diff --git a/AMDiS/src/Mesh.cc b/AMDiS/src/Mesh.cc
index 8664e00eb1fb7c203e987967e55c59dabce08353..a7f7862834e3deec6f16799abbfa5ca80a140711 100644
--- a/AMDiS/src/Mesh.cc
+++ b/AMDiS/src/Mesh.cc
@@ -1015,7 +1015,7 @@ namespace AMDiS {
 
     out << name << "\n";
 
-//     SerUtil::serialize(out, dim);
+    SerUtil::serialize(out, dim);
     SerUtil::serialize(out, nVertices);
     SerUtil::serialize(out, nEdges);
     SerUtil::serialize(out, nLeaves);
@@ -1095,8 +1095,8 @@ namespace AMDiS {
     in.get();
 
     int oldVal = dim;
-//     SerUtil::deserialize(in, dim);
-//     TEST_EXIT_DBG(oldVal == 0 || dim == oldVal)("Invalid dimension!\n");
+    SerUtil::deserialize(in, dim);
+    TEST_EXIT_DBG(oldVal == 0 || dim == oldVal)("Invalid dimension!\n");
 
     SerUtil::deserialize(in, nVertices);
     SerUtil::deserialize(in, nEdges);
diff --git a/AMDiS/src/TransformDOF.h b/AMDiS/src/TransformDOF.h
index e180186fc3ad18ea92f423f6f343bfca2a8b9b10..779ac2aa9671dc23571561bd1404f14dc2588fb4 100644
--- a/AMDiS/src/TransformDOF.h
+++ b/AMDiS/src/TransformDOF.h
@@ -7,18 +7,25 @@ namespace AMDiS {
 
 /**
  * analogon to std::for_each/std::transform for DOFVectors.
- * The operators are applied to each degree of freedom.
+ * The operators are applied to each degree of freedom:
  * 
  * forEachDOF(vec, op)
  * transformDOF(vec1, result, op)
  * transformDOF(vec1, vec2, result, binary_op)
  * transformDOF(vec1, vec2, vec3, result, tertiary_op)
  *
+ * transformDOFInterpolation(vec, f(x), result, binary_op)
+ *
  * vec1,vec2,vec3 .. {DOFVector<Ti>*, DOFVector<Ti>&, Ti}
  * vec, result .. {DOFVector<TOut>*, DOFVector<TOut>&}
  * op .. AbstractFunction<TOut, T1>*
  * binary_op ..BinaryAbstractFunction<TOut, T1, T2>*
  * tertiary_op .. TertiaryAbstractFunction<TOut, T1, T2, T3>*
+ *
+ * analogon to std::accumulate for DOFVectors:
+ * 
+ * result = accumulateDOF_simple(vec, value0, binary_op)
+ * result = accumulateDOF_simple(vec1, vec2, value0, tertiary_op)
  **/
 
 // result = op(vec)
@@ -83,7 +90,7 @@ inline void transformDOF_extended(DOFVector<T1> *vec, DOFVector<T2> *result, Abs
     }
 }
 
-// result = op(vec)
+/// result = op(vec)
 template<typename T1, typename T2>
 inline void transformDOF(DOFVector<T1> *vec,
   DOFVector<T2> *result,
@@ -112,7 +119,6 @@ inline void forEachDOF(DOFVector<T1> *vec, AbstractFunction<T1, T1> *op)
 template<typename T1> inline void forEachDOF(DOFVector<T1> &vec, AbstractFunction<T1, T1> &op)
 { transformDOF(&vec, &op); }
 
-// =======================================================================================================
 
 // result = binary_op(vec1, vec2)
 template<typename T1, typename T2, typename T3>
@@ -190,7 +196,7 @@ inline void transformDOF_extended(DOFVector<T1> *vec1, DOFVector<T2> *vec2, DOFV
     }
 }
 
-// result = binary_op(vec1, vec2)
+/// result = binary_op(vec1, vec2)
 template<typename T1, typename T2, typename T3>
 inline void transformDOF(DOFVector<T1> *vec1,
   DOFVector<T2> *vec2,
@@ -208,7 +214,7 @@ template<typename T1, typename T2, typename T3> inline void transformDOF(DOFVect
 { transformDOF(&vec1, &vec2, &result, &binary_op); }
 
 
-// result = binary_op(vec1, vec2)
+// result = binary_op(vec1, value)
 template<typename T1, typename T2, typename T3>
 inline void transformDOF_simple(DOFVector<T1> *vec1,
   const T2 val,
@@ -224,7 +230,7 @@ inline void transformDOF_simple(DOFVector<T1> *vec1,
   }
 }
 
-// result = binary_op(vec1, vec2)
+// result = binary_op(vec1, value)
 template<typename T1, typename T2, typename T3>
 inline void transformDOF_extended(DOFVector<T1> *vec1, const T2 val, DOFVector<T3> *result, BinaryAbstractFunction<T3, T1, T2> *binary_op)
 {
@@ -275,7 +281,7 @@ inline void transformDOF_extended(DOFVector<T1> *vec1, const T2 val, DOFVector<T
     }
 }
 
-// result = binary_op(vec1, vec2)
+/// result = binary_op(vec1, value)
 template<typename T1, typename T2, typename T3>
 inline void transformDOF(DOFVector<T1> *vec1,
   const T2 val,
@@ -292,7 +298,7 @@ template<typename T1, typename T2, typename T3> inline void transformDOF(DOFVect
 { transformDOF(&vec1, val, &result, &binary_op); }
 
 
-// result = binary_op(vec1, vec2)
+// result = binary_op(value, vec2)
 template<typename T1, typename T2, typename T3>
 inline void transformDOF_simple(const T1 val,
   DOFVector<T2> *vec1,
@@ -308,7 +314,7 @@ inline void transformDOF_simple(const T1 val,
   }
 }
 	
-// result = binary_op(vec1, vec2)
+// result = binary_op(value, vec2)
 template<typename T1, typename T2, typename T3>
 inline void transformDOF_extended(const T1 val, DOFVector<T2> *vec1, DOFVector<T3> *result, BinaryAbstractFunction<T3, T1, T2> *binary_op)
 {
@@ -359,7 +365,7 @@ inline void transformDOF_extended(const T1 val, DOFVector<T2> *vec1, DOFVector<T
     }
 }
 
-// result = binary_op(vec1, vec2)
+/// result = binary_op(value, vec2)
 template<typename T1, typename T2, typename T3>
 inline void transformDOF(const T1 val,
   DOFVector<T2> *vec1,
@@ -376,9 +382,7 @@ template<typename T1, typename T2, typename T3> inline void transformDOF(const T
 { transformDOF(val, &vec1, &result, &binary_op); }
 
 
-// ========================================================================================
-
-// result = binary_op(vec1, vec2)
+// result = tertiary_op(vec1, vec2, vec3)
 template<typename T1, typename T2, typename T3, typename T4>
 inline void transformDOF_simple(DOFVector<T1> *vec1,
   DOFVector<T2> *vec2,
@@ -466,7 +470,7 @@ inline void transformDOF_extended(DOFVector<T1> *vec1, DOFVector<T2> *vec2, DOFV
     }
 }
 
-// result = binary_op(vec1, vec2)
+/// result = tertiary_op(vec1, vec2, vec3)
 template<typename T1, typename T2, typename T3, typename T4>
 inline void transformDOF(DOFVector<T1> *vec1,
   DOFVector<T2> *vec2,
@@ -486,7 +490,7 @@ template<typename T1, typename T2, typename T3, typename T4>
 inline void transformDOF(DOFVector<T1> &vec1, DOFVector<T2> &vec2, DOFVector<T3> &vec3, DOFVector<T4> &result, TertiaryAbstractFunction<T4, T1, T2, T3> &tertiary_op)
 { transformDOF(&vec1, &vec2, &vec3, &result, &tertiary_op); }
 	
-// result = tertiary_op(vec1, vec2, vec3)
+/// result = tertiary_op(vec1, vec2, value)
 template<typename T1, typename T2, typename T3, typename T4>
 inline void transformDOF(DOFVector<T1> *vec1, DOFVector<T2> *vec2, T3 val, DOFVector<T4> *result, TertiaryAbstractFunction<T4, T1, T2, T3> *tertiary_op)
 {
@@ -551,7 +555,7 @@ template<typename T1, typename T2, typename T3, typename T4>
 inline void transformDOF(DOFVector<T1> &vec1, DOFVector<T2> &vec2, T3 val, DOFVector<T4> &result, TertiaryAbstractFunction<T4, T1, T2, T3> &tertiary_op)
 { transformDOF(&vec1, &vec2, val, &result, &tertiary_op); }
 
-// result = tertiary_op(vec1, vec2, vec3)
+/// result = tertiary_op(vec1, value, vec3)
 template<typename T1, typename T2, typename T3, typename T4>
 inline void transformDOF(DOFVector<T1> *vec1, T2 val, DOFVector<T2> *vec3, DOFVector<T4> *result, TertiaryAbstractFunction<T4, T1, T2, T3> *tertiary_op)
 {
@@ -616,7 +620,7 @@ template<typename T1, typename T2, typename T3, typename T4>
 inline void transformDOF(DOFVector<T1> &vec1, T2 val, DOFVector<T3> &vec3, DOFVector<T4> &result, TertiaryAbstractFunction<T4, T1, T2, T3> &tertiary_op)
 { transformDOF(&vec1, val, &vec3, &result, &tertiary_op); }
 
-// result = tertiary_op(vec1, vec2, vec3)
+/// result = tertiary_op(value, vec2, vec3)
 template<typename T1, typename T2, typename T3, typename T4>
 inline void transformDOF(T1 val, DOFVector<T2> *vec2, DOFVector<T2> *vec3, DOFVector<T4> *result, TertiaryAbstractFunction<T4, T1, T2, T3> *tertiary_op)
 {
@@ -684,7 +688,7 @@ inline void transformDOF(T1 val, DOFVector<T2> &vec2, DOFVector<T3> &vec3, DOFVe
 
 // ===========================================================================================
 
-// return binary_op(vec, interpol(fct))
+/// return binary_op(vec, interpol(fct))
 template<typename T>
 inline void transformDOFInterpolation(
 	DOFVector<T> *vec, 
@@ -700,7 +704,7 @@ template<typename T> inline void transformDOFInterpolation(
 	DOFVector<T> &vec, AbstractFunction<T, WorldVector<double> > &fct, BinaryAbstractFunction<T, T, T> &binary_op)
 { transformDOFInterpolation(&vec, &fct, &binary_op); }
 
-// return binary_op(vec, interpol(fct))
+/// return binary_op(vec, interpol(fct))
 template<typename T>
 inline void transformDOFInterpolation(
 	DOFVector<T> *vec, 
@@ -717,11 +721,12 @@ template<typename T> inline void transformDOFInterpolation(
 	DOFVector<T> &vec, AbstractFunction<T, WorldVector<double> > &fct, DOFVector<T> &result, BinaryAbstractFunction<T, T, T> &binary_op)
 { transformDOFInterpolation(&vec, &fct, &result, &binary_op); }
 
+}
 
 // ====================================================================================
 
 template<typename T>
-T accumulateDOF_simple(DOFVector<T> *vec,
+inline T accumulateDOF_simple(DOFVector<T> *vec,
 			      T value0,
 			      BinaryAbstractFunction<T, T, T> *binary_op)
 {
@@ -735,10 +740,10 @@ T accumulateDOF_simple(DOFVector<T> *vec,
 }
 
 template<typename TOut, typename T1, typename T2>
-TOut accumulateDOF_simple(DOFVector<T1> *vec1,
+inline TOut accumulateDOF_simple(DOFVector<T1> *vec1,
 				 DOFVector<T2> *vec2,
 				 TOut value0,
-				 TertiaryAbstractFunction<TOut, TOut, T1, T2> *tertiary_op)
+				 TertiaryAbstractFunction<TOut, T1, T2> *tertiary_op)
 {
   TEST_EXIT(vec1->getFeSpace() == vec2->getFeSpace())("FeSpaces must be equal!\n");
   DOFIterator<T1> vec1Iter(vec1, USED_DOFS);
@@ -751,6 +756,4 @@ TOut accumulateDOF_simple(DOFVector<T1> *vec1,
   return value;
 }
 
-}
-
 #endif // AMDIS_TRANSFORM_DOF_H