diff --git a/AMDiS/src/AMDiS.h b/AMDiS/src/AMDiS.h
index 5821636a6690d2de79df5125d686fe3145c3b20d..bfd03ba0b7dba7a8bf8b9e401ef096a6a32226d5 100644
--- a/AMDiS/src/AMDiS.h
+++ b/AMDiS/src/AMDiS.h
@@ -97,6 +97,7 @@
 #include "Traverse.h"
 #include "Triangle.h"
 #include "ValueWriter.h"
+#include "VertexVector.h"
 #include "VtkWriter.h"
 #include "ZeroOrderTerm.h"
 
diff --git a/AMDiS/src/AdaptInfo.cc b/AMDiS/src/AdaptInfo.cc
index 3d517c93529a873d45f47821233f70d036595155..bbdf0477b3df787dabc098b54677737aef15f13c 100644
--- a/AMDiS/src/AdaptInfo.cc
+++ b/AMDiS/src/AdaptInfo.cc
@@ -19,6 +19,7 @@ namespace AMDiS {
     }
   }
 
+
   void AdaptInfo::serialize(std::ostream& out) 
   {
     out << name << "\n";
@@ -42,9 +43,9 @@ namespace AMDiS {
     SerUtil::serialize(out, solverTolerance);
     SerUtil::serialize(out, solverResidual);
 
-    int size = static_cast<int>(scalContents.size());
+    unsigned int size = scalContents.size();
     SerUtil::serialize(out, size);
-    for (int i = 0; i < size; i++) {
+    for (unsigned int i = 0; i < size; i++) {
       SerUtil::serialize(out, scalContents[i]->est_sum);
       SerUtil::serialize(out, scalContents[i]->est_t_sum);
       SerUtil::serialize(out, scalContents[i]->est_max);
@@ -61,6 +62,7 @@ namespace AMDiS {
     }
   }
 
+
   void AdaptInfo::deserialize(std::istream& in) 
   {
     in >> name;
diff --git a/AMDiS/src/BoundaryManager.cc b/AMDiS/src/BoundaryManager.cc
index 6c46f50954828a643603820d9568285f693fa2ce..b868ca603c31ef8632c8b1b56ff74c32eb6d1fc5 100644
--- a/AMDiS/src/BoundaryManager.cc
+++ b/AMDiS/src/BoundaryManager.cc
@@ -12,31 +12,35 @@ namespace AMDiS {
   std::map<BoundaryType, std::vector<BoundaryCondition*> > 
   BoundaryManager::globalBoundaryMap;
 
+
   BoundaryManager::BoundaryManager(const FiniteElemSpace *feSpace)
   {
     localBounds.resize(omp_get_overall_max_threads());
     dofIndices.resize(omp_get_overall_max_threads());
     allocatedMemoryLocalBounds = feSpace->getBasisFcts()->getNumber();
-    for (int i = 0; i < static_cast<int>(localBounds.size()); i++)
+    for (unsigned int i = 0; i < localBounds.size(); i++)
       localBounds[i] = new BoundaryType[allocatedMemoryLocalBounds];
   }
 
+
   BoundaryManager::BoundaryManager(BoundaryManager &bm)
   {
     localBCs = bm.localBCs;
     allocatedMemoryLocalBounds = bm.allocatedMemoryLocalBounds;
     localBounds.resize(bm.localBounds.size());
     dofIndices.resize(bm.localBounds.size());
-    for (int i = 0; i < static_cast<int>(localBounds.size()); i++)
+    for (unsigned int i = 0; i < localBounds.size(); i++)
       localBounds[i] = new BoundaryType[allocatedMemoryLocalBounds];
   }
 
+
   BoundaryManager::~BoundaryManager()
   {
-    for (int i = 0; i < static_cast<int>(localBounds.size()); i++)
+    for (unsigned int i = 0; i < localBounds.size(); i++)
       delete [] localBounds[i];
   }
 
+
   double BoundaryManager::boundResidual(ElInfo *elInfo, 
 					DOFMatrix *matrix,
 					const DOFVectorBase<double> *dv)
@@ -49,6 +53,7 @@ namespace AMDiS {
     return result;
   }
 
+
   void BoundaryManager::fillBoundaryConditions(ElInfo *elInfo, 
 					       DOFVectorBase<double> *vec)
   {
@@ -80,6 +85,7 @@ namespace AMDiS {
     }
   }
 
+
   void BoundaryManager::fillBoundaryConditions(ElInfo *elInfo, DOFMatrix *mat)
   {
     if (localBCs.size() <= 0)
@@ -111,6 +117,7 @@ namespace AMDiS {
 					    localBound, nBasFcts);
   }
 
+
   void BoundaryManager::initMatrix(DOFMatrix *matrix)
   {
     for (BoundaryIndexMap::iterator it = localBCs.begin(); it != localBCs.end(); ++it)
@@ -122,6 +129,7 @@ namespace AMDiS {
 	(*it).second->initMatrix(matrix);
   }
 
+
   void BoundaryManager::exitMatrix(DOFMatrix *matrix)
   {
     for (BoundaryIndexMap::iterator it = localBCs.begin(); it != localBCs.end(); ++it)
@@ -133,6 +141,7 @@ namespace AMDiS {
 	(*it).second->exitMatrix(matrix);
   }
 
+
   void BoundaryManager::initVector(DOFVectorBase<double> *vector)
   {
     for (BoundaryIndexMap::iterator it = localBCs.begin(); it != localBCs.end(); ++it)
@@ -144,6 +153,7 @@ namespace AMDiS {
 	(*it).second->initVector(vector);
   }
 
+
   void BoundaryManager::exitVector(DOFVectorBase<double> *vector)
   {
     for (BoundaryIndexMap::iterator it = localBCs.begin(); it != localBCs.end(); ++it)
diff --git a/AMDiS/src/ZeroOrderTerm.cc b/AMDiS/src/ZeroOrderTerm.cc
index 3f61ac5dcd7ac14534974e681e0abb29d68efab5..1a775722a07f467426297d654a802d7591fc313b 100644
--- a/AMDiS/src/ZeroOrderTerm.cc
+++ b/AMDiS/src/ZeroOrderTerm.cc
@@ -14,6 +14,7 @@ namespace AMDiS {
     auxFeSpaces.insert(dv->getFeSpace());
   }
 
+
   void VecAtQP_ZOT::initElement(const ElInfo* elInfo, 
 				SubAssembler* subAssembler,
 				Quadrature *quad) 
@@ -21,6 +22,7 @@ namespace AMDiS {
     vecAtQPs = getVectorAtQPs(vec, elInfo, subAssembler, quad);
   }
 
+
   void VecAtQP_ZOT::initElement(const ElInfo* smallElInfo,
 				const ElInfo* largeElInfo,
 				SubAssembler* subAssembler,
@@ -29,6 +31,7 @@ namespace AMDiS {
     vecAtQPs = getVectorAtQPs(vec, smallElInfo, largeElInfo, subAssembler, quad);
   }
 
+
   void VecAtQP_ZOT::getC(const ElInfo *, int nPoints, std::vector<double> &C)  
   { 
     if (f) {
@@ -40,6 +43,7 @@ namespace AMDiS {
     }
   }
 
+
   void VecAtQP_ZOT::eval(int nPoints,
 			 const double *uhAtQP,
 			 const WorldVector<double> *grdUhAtQP,
@@ -73,6 +77,7 @@ namespace AMDiS {
     auxFeSpaces.insert(dv2->getFeSpace());
   }
 
+
   void MultVecAtQP_ZOT::initElement(const ElInfo* elInfo, 
 				    SubAssembler* subAssembler,
 				    Quadrature *quad) 
@@ -81,12 +86,14 @@ namespace AMDiS {
     vecAtQPs2 = getVectorAtQPs(vec2, elInfo, subAssembler, quad);
   }
 
+
   void MultVecAtQP_ZOT::getC(const ElInfo *, int nPoints, std::vector<double> &C)  
   { 
     for (int iq = 0; iq < nPoints; iq++)
       C[iq] += (*f1)(vecAtQPs1[iq]) * (*f2)(vecAtQPs2[iq]);    
   }
 
+
   void MultVecAtQP_ZOT::eval(int nPoints,
 			     const double *uhAtQP,
 			     const WorldVector<double> *grdUhAtQP,
@@ -113,6 +120,7 @@ namespace AMDiS {
     auxFeSpaces.insert(dv2->getFeSpace());
   }
 
+
   void Vec2AtQP_ZOT::initElement(const ElInfo* elInfo, 
 				 SubAssembler* subAssembler,
 				 Quadrature *quad) 
@@ -520,35 +528,38 @@ namespace AMDiS {
   {
     vecsAtQPs.resize(vecs.size());
 
-    for (int i = 0; i < static_cast<int>(dv.size()); i++) {
+    for (unsigned int i = 0; i < dv.size(); i++) {
       TEST_EXIT(dv[i])("One vector is NULL!\n");
 
       auxFeSpaces.insert(dv[i]->getFeSpace());
     }
   } 
 
+
   void VecOfDOFVecsAtQP_ZOT::initElement(const ElInfo* elInfo, 
 					 SubAssembler* subAssembler,
 					 Quadrature *quad) 
   {
-    int size = static_cast<int>(vecs.size());
-    for (int i = 0; i < size; i++)
+    unsigned int size = vecs.size();
+    for (unsigned int i = 0; i < size; i++)
       vecsAtQPs[i] = getVectorAtQPs(vecs[i], elInfo, subAssembler, quad);
   }
+
  
   void VecOfDOFVecsAtQP_ZOT::getC(const ElInfo *, int nPoints,  std::vector<double> &C)
   { 
-    int size = static_cast<int>(vecs.size());
+    unsigned int size = vecs.size();
     std::vector<double> arg(size);
 
     for (int iq = 0; iq < nPoints; iq++) {
-      for (int i = 0; i < size; i++)
+      for (unsigned int i = 0; i < size; i++)
 	arg[i] = vecsAtQPs[i][iq];
       
       C[iq] += (*f)(arg);
     }
   }
 
+
   void VecOfDOFVecsAtQP_ZOT::eval(int nPoints,
 				  const double *uhAtQP,
 				  const WorldVector<double> *grdUhAtQP,