diff --git a/AMDiS/ChangeLog b/AMDiS/ChangeLog
index 99d49802ef309f4c19c4fce983eb7f3f5eba474f..5b37c9d5a7491bbe0a7ce0162b3d21042cec410d 100644
--- a/AMDiS/ChangeLog
+++ b/AMDiS/ChangeLog
@@ -1,17 +1,5 @@
-28.03.2006: init file:
-	<myProblem>->output->serialize adapt info: 0/1
-28.03.2006: FileWriterInterface changed:
-	writeFiles(double time, bool force) ->
-	writeFiles(AdaptInfo *adaptInfo, bool force) 
-27.03.2006: GERSMarker corrected
-23.03.2006: BasisFunction::getDOFIndices() -> BasisFunction::getLocalIndices()
-	both functions do the same -> getDOFIndices depricated
-15.03.2006: parallel AMDiS:
-	DualTraverse generalized
-14.03.2006: parallel AMDiS:
-	MeshStructure.h and .cc added. 
-	(-> transfer mesh tree via MPI)
-13.03.2006: parallel AMDiS:
-	EmptyElementData.h added. 
-	(-> marks elements belonging to processors myRank region)
-
+Rev 1210:
+	* In ganz AMDiS Variablen- und Funktionsnamen von "FESpace" nach
+	  "FeSpace" ge�ndert. Dies betrifft insbesondere "getFESpace()",
+	  das nun "getFeSpace()" hei�t.
+	* ProblemVec::getRHS() -> ProblemVec::getRhs()
diff --git a/AMDiS/Reinit/src/HL_SignedDist.cc b/AMDiS/Reinit/src/HL_SignedDist.cc
index 580c1e87f434fcae986dcfa48f4add91e4d02646..8bbd961a1b4dfb6a93a84c3936ee1843a230ace8 100644
--- a/AMDiS/Reinit/src/HL_SignedDist.cc
+++ b/AMDiS/Reinit/src/HL_SignedDist.cc
@@ -12,14 +12,14 @@ void HL_SignedDist::calcSignedDistFct(AdaptInfo *adaptInfo_,
 
   if (elFct == NULL) {
     TEST_EXIT(lS_DOF_)("illegal level set function !\n");
-    TEST_EXIT(lS_DOF_->getFESpace() == sD_DOF_->getFESpace())("DOF vectors do not have the same FE space!\n");
+    TEST_EXIT(lS_DOF_->getFeSpace() == sD_DOF_->getFeSpace())("DOF vectors do not have the same FE space!\n");
   }
   TEST_EXIT(sD_DOF_)("illegal DOF vector for signed distance function !\n");
-  TEST_EXIT(sD_DOF_->getFESpace()->getBasisFcts()->getDegree() == 1)("does it work for non-linear finite elements ?\n");
+  TEST_EXIT(sD_DOF_->getFeSpace()->getBasisFcts()->getDegree() == 1)("does it work for non-linear finite elements ?\n");
   
   lS_DOF = lS_DOF_;
   sD_DOF = sD_DOF_;
-  feSpace = sD_DOF->getFESpace();
+  feSpace = sD_DOF->getFeSpace();
 
   // ===== Initialization. =====
   initialize(elFct);
@@ -56,7 +56,7 @@ void HL_SignedDist::calcSignedDistFct(AdaptInfo *adaptInfo_, DOFVector<double> *
 {
   TEST_EXIT(lS_DOF_)("illegal level set function lS_DOF_ !\n");
 
-  sD_DOF = new DOFVector<double>(lS_DOF_->getFESpace(), "sD_DOF");
+  sD_DOF = new DOFVector<double>(lS_DOF_->getFeSpace(), "sD_DOF");
 
   calcSignedDistFct(adaptInfo_, lS_DOF_, sD_DOF, NULL);
 
@@ -87,7 +87,7 @@ void HL_SignedDist::calcVelocityExt(AdaptInfo *adaptInfo_,
 
     TEST_EXIT(vel_DOF_)("illegal level set function lS_DOF_ !\n");
 
-    sD_DOF = new DOFVector<double>(vel_DOF_->getFESpace(), "sD_DOF");
+    sD_DOF = new DOFVector<double>(vel_DOF_->getFeSpace(), "sD_DOF");
 
     calcSignedDistFct(adaptInfo_, lS_DOF_, sD_DOF, elFct);
 
@@ -112,7 +112,7 @@ void HL_SignedDist::calcVelocityExt(AdaptInfo *adaptInfo_,
     TEST_EXIT(lS_DOF_)("illegal level set function lS_DOF_ !\n");
 
   DOFVector<double> *newVel_DOF_ = 
-    new DOFVector<double>(vel_DOF_->getFESpace(), "vel_DOF_");
+    new DOFVector<double>(vel_DOF_->getFeSpace(), "vel_DOF_");
 
   velExt->setVelocity(vel_DOF_, newVel_DOF_);
 
@@ -121,7 +121,7 @@ void HL_SignedDist::calcVelocityExt(AdaptInfo *adaptInfo_,
   if (calcSDFct && elFct == NULL) {
     calcSignedDistFct(adaptInfo_, lS_DOF_);
   } else {
-    sD_DOF = new DOFVector<double>(vel_DOF_->getFESpace(), "sD_DOF");
+    sD_DOF = new DOFVector<double>(vel_DOF_->getFeSpace(), "sD_DOF");
 
     calcSignedDistFct(adaptInfo_, lS_DOF_, sD_DOF, elFct);
 
@@ -160,7 +160,7 @@ void HL_SignedDist::calcVelocityExt(AdaptInfo *adaptInfo_,
 
     TEST_EXIT(vel_DOF_[0])("illegal level set function lS_DOF_ !\n");
 
-    sD_DOF = new DOFVector<double>(vel_DOF_[0]->getFESpace(), "sD_DOF");
+    sD_DOF = new DOFVector<double>(vel_DOF_[0]->getFeSpace(), "sD_DOF");
 
     calcSignedDistFct(adaptInfo_, lS_DOF_, sD_DOF, elFct);
 
@@ -189,7 +189,7 @@ void HL_SignedDist::calcVelocityExt(AdaptInfo *adaptInfo_,
   for (int nV = 0; nV < nVelDOFs; ++nV) {    
     TEST_EXIT(vel_DOF_[nV])("velocity vector vel_DOF_ not defined !\n");
     
-    newVel_DOF_[nV] = new DOFVector<double>((vel_DOF_[nV])->getFESpace(), "vel_DOF_");
+    newVel_DOF_[nV] = new DOFVector<double>((vel_DOF_[nV])->getFeSpace(), "vel_DOF_");
   }
 
   velExt->setVelocity(vel_DOF_, newVel_DOF_);
@@ -199,7 +199,7 @@ void HL_SignedDist::calcVelocityExt(AdaptInfo *adaptInfo_,
   if (calcSDFct && elFct == NULL) {
     calcSignedDistFct(adaptInfo_, lS_DOF_);
   } else {
-    sD_DOF = new DOFVector<double>(vel_DOF_[0]->getFESpace(), "sD_DOF");
+    sD_DOF = new DOFVector<double>(vel_DOF_[0]->getFeSpace(), "sD_DOF");
 
     calcSignedDistFct(adaptInfo_, lS_DOF_, sD_DOF, elFct);
 
@@ -240,7 +240,7 @@ void HL_SignedDist::calcVelocityExtFromVelocityField(AdaptInfo *adaptInfo_,
 
     TEST_EXIT(vel_DOF_)("illegal velocity vector vel_DOF_ !\n");
 
-    sD_DOF = new DOFVector<double>(vel_DOF_->getFESpace(), "sD_DOF");
+    sD_DOF = new DOFVector<double>(vel_DOF_->getFeSpace(), "sD_DOF");
 
     calcSignedDistFct(adaptInfo_, lS_DOF_, sD_DOF, elFct);
 
@@ -274,7 +274,7 @@ void HL_SignedDist::calcVelocityExtFromVelocityField(AdaptInfo *adaptInfo_,
 
     TEST_EXIT(vel_DOF_)("illegal velocity vector vel_DOF_ !\n");
 
-    sD_DOF = new DOFVector<double>(vel_DOF_->getFESpace(), "sD_DOF");
+    sD_DOF = new DOFVector<double>(vel_DOF_->getFeSpace(), "sD_DOF");
 
     calcSignedDistFct(adaptInfo_, lS_DOF_, sD_DOF, elFct);
 
diff --git a/AMDiS/Reinit/src/HL_SignedDistLevels.cc b/AMDiS/Reinit/src/HL_SignedDistLevels.cc
index 4400e22db0e11030c76223fedc96e0dd9b50973f..b837ff662bcb305bf8e9d8d27c75287b67ff4606 100644
--- a/AMDiS/Reinit/src/HL_SignedDistLevels.cc
+++ b/AMDiS/Reinit/src/HL_SignedDistLevels.cc
@@ -321,7 +321,7 @@ HL_SignedDistLevels::HL_updateIteration()
   //print chosen level in a file
   if (print_level == 1)
     {
-      DOFVector<double> *level_DOF = NEW DOFVector<double>(sD_DOF->getFESpace(), 
+      DOFVector<double> *level_DOF = NEW DOFVector<double>(sD_DOF->getFeSpace(), 
 							   "level_DOF");
       
       int numElems;
@@ -372,7 +372,7 @@ HL_SignedDistLevels::HL_updateIteration()
       
       FileWriter *levelFileWriter = 
 	NEW FileWriter("level->output",
-		       level_DOF->getFESpace()->getMesh(),
+		       level_DOF->getFeSpace()->getMesh(),
 		       level_DOF);
       levelFileWriter->writeFiles (adaptInfo, false);
       
diff --git a/AMDiS/Reinit/src/VelocityExt.h b/AMDiS/Reinit/src/VelocityExt.h
index 501fab777cbd2d4a8bd8337bb5937f37f5c73e9a..51a34fd532dade89c53ed50cc4e6a2a269f43800 100644
--- a/AMDiS/Reinit/src/VelocityExt.h
+++ b/AMDiS/Reinit/src/VelocityExt.h
@@ -33,7 +33,7 @@ public:
 
     FileWriter *fileWriter = new FileWriter(
 			     "VelocityExt->velocity output", 
-			     (velDOF[i])->getFESpace()->getMesh(),
+			     (velDOF[i])->getFeSpace()->getMesh(),
 			     const_cast<DOFVector<double> *>(velDOF[i]));
     fileWriter->writeFiles(adaptInfo, false);
 
@@ -49,7 +49,7 @@ public:
 
     FileWriter *fileWriter = new FileWriter(
 			     "VelocityExt->interface velocity output", 
-			     (origVelDOF[i])->getFESpace()->getMesh(),
+			     (origVelDOF[i])->getFeSpace()->getMesh(),
 			     const_cast<DOFVector<double> *>(origVelDOF[i]));
     fileWriter->writeFiles(adaptInfo, false);
 
@@ -68,7 +68,7 @@ public:
 
     TEST_EXIT(origVelDOF_)("illegal velocity vector origVelDOF !\n");
     TEST_EXIT(velDOF_)("illegal velocity vector velDOF !\n");
-    TEST_EXIT(origVelDOF_->getFESpace() == velDOF_->getFESpace())
+    TEST_EXIT(origVelDOF_->getFeSpace() == velDOF_->getFeSpace())
       ("different fe spaces !\n");
 
     origVelDOF.clear();
@@ -94,7 +94,7 @@ public:
     for (int i=0; i<nVelDOFs; ++i) {
       TEST_EXIT(origVelDOF_[i])("illegal velocity vector origVelDOF !\n");
       TEST_EXIT(velDOF_[i])("illegal velocity vector velDOF !\n");
-      TEST_EXIT((origVelDOF_[i])->getFESpace() == (velDOF_[i])->getFESpace())
+      TEST_EXIT((origVelDOF_[i])->getFeSpace() == (velDOF_[i])->getFeSpace())
 	("different fe spaces !\n");
     }
       
diff --git a/AMDiS/Reinit/src/VelocityExtFromVelocityField.h b/AMDiS/Reinit/src/VelocityExtFromVelocityField.h
index 9d90b0b17d0db3a3fadfd2852a301d042628bf5a..866ae1c5d93cff85c0a6eb4daf9dd84e3f335329 100644
--- a/AMDiS/Reinit/src/VelocityExtFromVelocityField.h
+++ b/AMDiS/Reinit/src/VelocityExtFromVelocityField.h
@@ -55,10 +55,10 @@ public:
 
     TEST_EXIT(lSFct)("level set function not defined !\n");
     TEST_EXIT((int)velField.size() == dim)("illegal velocity field !\n");
-    TEST_EXIT(lSFct->getFESpace() == velDOF_->getFESpace())
+    TEST_EXIT(lSFct->getFeSpace() == velDOF_->getFeSpace())
       ("different feSpaces !\n");
 
-    basFcts = lSFct->getFESpace()->getBasisFcts();
+    basFcts = lSFct->getFeSpace()->getBasisFcts();
   };
 
   /**
diff --git a/AMDiS/compositeFEM/src/CompositeFEMMethods.cc b/AMDiS/compositeFEM/src/CompositeFEMMethods.cc
index c0cb2295a702d133aa8c9c7f6f0437fed8ac2a8b..e336420c83f59221832e2ef798533242d58762bd 100644
--- a/AMDiS/compositeFEM/src/CompositeFEMMethods.cc
+++ b/AMDiS/compositeFEM/src/CompositeFEMMethods.cc
@@ -33,21 +33,18 @@ void CompositeFEMMethods::setPosLsToFct(DOFVector<double> *dof,
 					const AbstractFunction<double, WorldVector<double> > *fct,
 					const DOFVector<double> *lsFct_dof)
 {
-  const BasisFunction *basisFcts = dof->getFESpace()->getBasisFcts();
-  const DOFAdmin *admin = dof->getFESpace()->getAdmin();
-  const int dim = dof->getFESpace()->getMesh()->getDim();
+  const BasisFunction *basisFcts = dof->getFeSpace()->getBasisFcts();
+  const DOFAdmin *admin = dof->getFeSpace()->getAdmin();
+  const int dim = dof->getFeSpace()->getMesh()->getDim();
   const double *locVec;
-  const Element *el;
   const DegreeOfFreedom *locInd;
-  TraverseStack stack;
 
-  ElInfo *elInfo = stack.traverseFirst(dof->getFESpace()->getMesh(), -1, 
-				       Mesh::CALL_LEAF_EL | 
-				       Mesh::FILL_COORDS);
+  TraverseStack stack;
+  ElInfo *elInfo = stack.traverseFirst(dof->getFeSpace()->getMesh(), -1, 
+				       Mesh::CALL_LEAF_EL | Mesh::FILL_COORDS);
   
   while (elInfo) {
-
-    el = elInfo->getElement();
+    const Element *el = elInfo->getElement();
     
     // Get level set function values for all vertices of element.
     locVec = lsFct_dof->getLocalVector(el, NULL);
@@ -55,7 +52,7 @@ void CompositeFEMMethods::setPosLsToFct(DOFVector<double> *dof,
     // Get dof indices of vertices.
     locInd = basisFcts->getLocalIndices(el, admin, NULL);
 
-    for (int i=0; i<=dim; ++i) {
+    for (int i = 0; i <= dim; i++) {
       // Is vertex in domain with positive level set function values ?
       if (locVec[i] > 0)
 	(*dof)[locInd[i]] = (*fct)(elInfo->getCoord(i));
diff --git a/AMDiS/compositeFEM/src/CompositeFEMOperator.cc b/AMDiS/compositeFEM/src/CompositeFEMOperator.cc
index 6ffd2c561805f30a36688008b7b5219941b88e83..a3b262989aceffa640186e3cd7b7d9aa5d88138a 100644
--- a/AMDiS/compositeFEM/src/CompositeFEMOperator.cc
+++ b/AMDiS/compositeFEM/src/CompositeFEMOperator.cc
@@ -53,8 +53,8 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo,
 
   if(!subElementAssembler) {
     subElementAssembler = new SubElementAssembler(this, 
-						  rowFESpace, 
-						  colFESpace);
+						  rowFeSpace, 
+						  colFeSpace);
   }
 
   /**
@@ -115,7 +115,7 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo,
 
   if (!assembler[myRank]) {
     assembler[myRank] =
-      new StandardAssembler(this, NULL, NULL, NULL, NULL, rowFESpace, colFESpace);
+      new StandardAssembler(this, NULL, NULL, NULL, NULL, rowFeSpace, colFeSpace);
   }
 
   if (elLS->getLevelSetDomain() == 
@@ -191,8 +191,8 @@ CompositeFEMOperator::getElementVector(const ElInfo *elInfo,
 
   if(!subElementAssembler) {
     subElementAssembler = new SubElementAssembler(this, 
-						  rowFESpace, 
-						  colFESpace);
+						  rowFeSpace, 
+						  colFeSpace);
   }
 
   /**
@@ -250,7 +250,7 @@ CompositeFEMOperator::getElementVector(const ElInfo *elInfo,
 
   if (!assembler[myRank]) {
     assembler[myRank] = 
-      new StandardAssembler(this, NULL, NULL, NULL, NULL, rowFESpace, colFESpace);
+      new StandardAssembler(this, NULL, NULL, NULL, NULL, rowFeSpace, colFeSpace);
   }
 
   if (elLS->getLevelSetDomain() == 
diff --git a/AMDiS/compositeFEM/src/CompositeFEMOperator.h b/AMDiS/compositeFEM/src/CompositeFEMOperator.h
index 63e8b18ce82b6c12639f16971a0ea74836defa85..c43f0b28bdc5b29a2ffd48bc505ec56c47fcf954 100644
--- a/AMDiS/compositeFEM/src/CompositeFEMOperator.h
+++ b/AMDiS/compositeFEM/src/CompositeFEMOperator.h
@@ -56,9 +56,9 @@ public:
   /// Constructor.
   CompositeFEMOperator(Flag operatorType_,
 		       ElementLevelSet *elLS_,
-		       const FiniteElemSpace *rowFESpace_,
-		       const FiniteElemSpace *colFESpace_ = NULL)
-    : Operator(operatorType_, rowFESpace_, colFESpace_),
+		       const FiniteElemSpace *rowFeSpace_,
+		       const FiniteElemSpace *colFeSpace_ = NULL)
+    : Operator(operatorType_, rowFeSpace_, colFeSpace_),
       elLS(elLS_),
       subElementAssembler(NULL),
       elStatus(ElementLevelSet::LEVEL_SET_UNDEFINED)
diff --git a/AMDiS/compositeFEM/src/PenaltyOperator.h b/AMDiS/compositeFEM/src/PenaltyOperator.h
index 974b282e461d6655a0f7d9602ee5a149c04ecd58..25b7b835e2be002eec5fc16f556f2b52f77ad2be 100644
--- a/AMDiS/compositeFEM/src/PenaltyOperator.h
+++ b/AMDiS/compositeFEM/src/PenaltyOperator.h
@@ -44,16 +44,16 @@ public:
 		  ElementLevelSet *elLS_,
 		  double factor_,
 		  bool penaltyCoeffFlag_,
-		  FiniteElemSpace *rowFESpace_,
-		  FiniteElemSpace *colFESpace_ = NULL)
-    : Operator(operatorType_, rowFESpace_, colFESpace_),
+		  FiniteElemSpace *rowFeSpace_,
+		  FiniteElemSpace *colFeSpace_ = NULL)
+    : Operator(operatorType_, rowFeSpace_, colFeSpace_),
       elLS(elLS_),
       elStatus(ElementLevelSet::LEVEL_SET_UNDEFINED),
       factor(factor_),
       penaltyCoeffFlag(penaltyCoeffFlag_),
       surfaceOp(NULL),
-      dim(getRowFESpace()->getMesh()->getDim()),
-      degree(getRowFESpace()->getBasisFcts()->getDegree())
+      dim(getRowFeSpace()->getMesh()->getDim()),
+      degree(getRowFeSpace()->getBasisFcts()->getDegree())
   {
     TEST_EXIT(elLS->getLevelSetFct() && elLS->getMesh())
       ("ElementLevelSet not initialized!\n");
diff --git a/AMDiS/compositeFEM/src/SubElementAssembler.cc b/AMDiS/compositeFEM/src/SubElementAssembler.cc
index b0018c50c6661a85653d802b21e4ec72479d7006..89a92d2f628d28c3a3cb06607522a082d3133cd0 100644
--- a/AMDiS/compositeFEM/src/SubElementAssembler.cc
+++ b/AMDiS/compositeFEM/src/SubElementAssembler.cc
@@ -7,9 +7,9 @@
 namespace AMDiS {
 
   SubElementAssembler::SubElementAssembler(Operator *op, 
-					   const FiniteElemSpace *rowFESpace_,
-					   const FiniteElemSpace *colFESpace_)
-    : StandardAssembler(op, NULL, NULL, NULL, NULL, rowFESpace_, colFESpace_)
+					   const FiniteElemSpace *rowFeSpace_,
+					   const FiniteElemSpace *colFeSpace_)
+    : StandardAssembler(op, NULL, NULL, NULL, NULL, rowFeSpace_, colFeSpace_)
   {
     /** 
      * Create a scalable quadrature for subassembler and replace the original 
diff --git a/AMDiS/compositeFEM/src/SubElementAssembler.h b/AMDiS/compositeFEM/src/SubElementAssembler.h
index 95aa4548c13fd88d12fb558e638e13d6f71ad3ba..5a649d9d79d7fded1d1112b73d0ef91d8013d375 100644
--- a/AMDiS/compositeFEM/src/SubElementAssembler.h
+++ b/AMDiS/compositeFEM/src/SubElementAssembler.h
@@ -73,8 +73,8 @@ namespace AMDiS {
   {
   public:
     SubElementAssembler(Operator *op, 
-			const FiniteElemSpace *rowFESpace,
-			const FiniteElemSpace *colFESpace = NULL);
+			const FiniteElemSpace *rowFeSpace,
+			const FiniteElemSpace *colFeSpace = NULL);
 
     virtual ~SubElementAssembler()
     {
diff --git a/AMDiS/src/Assembler.cc b/AMDiS/src/Assembler.cc
index 09b65c9bc913c3b228e7f09b20ab104895ca6b37..0dbf68cc9673e76321707b6091df4bc37fdfbeef 100644
--- a/AMDiS/src/Assembler.cc
+++ b/AMDiS/src/Assembler.cc
@@ -14,10 +14,10 @@ namespace AMDiS {
 		       const FiniteElemSpace *row,
 		       const FiniteElemSpace *col) 
     : operat(op),
-      rowFESpace(row),
-      colFESpace(col ? col : row),
-      nRow(rowFESpace->getBasisFcts()->getNumber()),
-      nCol(colFESpace->getBasisFcts()->getNumber()),
+      rowFeSpace(row),
+      colFeSpace(col ? col : row),
+      nRow(rowFeSpace->getBasisFcts()->getNumber()),
+      nCol(colFeSpace->getBasisFcts()->getNumber()),
       remember(true),
       rememberElMat(false),
       rememberElVec(false),
@@ -112,7 +112,7 @@ namespace AMDiS {
       secondOrderAssembler->calculateElementMatrix(smallElInfo, mat);
 
       ElementMatrix &m = 
-	smallElInfo->getSubElemGradCoordsMat(rowFESpace->getBasisFcts()->getDegree());
+	smallElInfo->getSubElemGradCoordsMat(rowFeSpace->getBasisFcts()->getDegree());
       
       if (smallElInfo == colElInfo)
 	tmpMat = m * mat;	
@@ -127,12 +127,12 @@ namespace AMDiS {
 
       if (largeElInfo == rowElInfo) {
 	ElementMatrix &m = 
-	  smallElInfo->getSubElemGradCoordsMat(rowFESpace->getBasisFcts()->getDegree());
+	  smallElInfo->getSubElemGradCoordsMat(rowFeSpace->getBasisFcts()->getDegree());
 
 	tmpMat = m * mat;
       } else {
 	ElementMatrix &m = 
-	  smallElInfo->getSubElemCoordsMat(rowFESpace->getBasisFcts()->getDegree());
+	  smallElInfo->getSubElemCoordsMat(rowFeSpace->getBasisFcts()->getDegree());
 	
 	tmpMat = mat * trans(m);
       }
@@ -145,12 +145,12 @@ namespace AMDiS {
 
       if (largeElInfo == colElInfo) {
 	ElementMatrix &m = 
-	  smallElInfo->getSubElemGradCoordsMat(rowFESpace->getBasisFcts()->getDegree());
+	  smallElInfo->getSubElemGradCoordsMat(rowFeSpace->getBasisFcts()->getDegree());
 
 	tmpMat = mat * trans(m);
       } else {
 	ElementMatrix &m = 
-	  smallElInfo->getSubElemCoordsMat(rowFESpace->getBasisFcts()->getDegree());
+	  smallElInfo->getSubElemCoordsMat(rowFeSpace->getBasisFcts()->getDegree());
 	
 	tmpMat = m * mat;	
       }
@@ -162,7 +162,7 @@ namespace AMDiS {
       zeroOrderAssembler->calculateElementMatrix(smallElInfo, mat);
       
       ElementMatrix &m = 
-	smallElInfo->getSubElemCoordsMat(rowFESpace->getBasisFcts()->getDegree());
+	smallElInfo->getSubElemCoordsMat(rowFeSpace->getBasisFcts()->getDegree());
       
       if (smallElInfo == colElInfo)
 	tmpMat = m * mat;	
@@ -275,7 +275,7 @@ namespace AMDiS {
       if (smallElInfo != mainElInfo) {
 	ElementVector tmpVec(vec);	
 	ElementMatrix &m = 
-	  smallElInfo->getSubElemCoordsMat(rowFESpace->getBasisFcts()->getDegree());
+	  smallElInfo->getSubElemCoordsMat(rowFeSpace->getBasisFcts()->getDegree());
 
 	tmpVec = m * vec;	
 	vec = tmpVec;
@@ -319,16 +319,16 @@ namespace AMDiS {
   {
     FUNCNAME("Assembler::matVecAssemble()");
 
-    TEST_EXIT(rowFESpace->getBasisFcts() == colFESpace->getBasisFcts())
+    TEST_EXIT(rowFeSpace->getBasisFcts() == colFeSpace->getBasisFcts())
       ("Works only for equal basis functions for different components!\n");
 
-    TEST_EXIT(operat->uhOld->getFESpace()->getMesh() == auxElInfo->getMesh())
+    TEST_EXIT(operat->uhOld->getFeSpace()->getMesh() == auxElInfo->getMesh())
       ("Da stimmt was nicht!\n");
 
     Element *mainEl = mainElInfo->getElement(); 
     Element *auxEl = auxElInfo->getElement();
 
-    const BasisFunction *basFcts = rowFESpace->getBasisFcts();
+    const BasisFunction *basFcts = rowFeSpace->getBasisFcts();
     int nBasFcts = basFcts->getNumber();
     std::vector<double> uhOldLoc(nBasFcts);
 
@@ -369,7 +369,7 @@ namespace AMDiS {
     if (secondOrderAssembler) {
       // create quadrature
       if (!secondOrderAssembler->getQuadrature()) {
-	int dim = rowFESpace->getMesh()->getDim();
+	int dim = rowFeSpace->getMesh()->getDim();
 	int degree = operat->getQuadratureDegree(2);
 	Quadrature *quadrature = Quadrature::provideQuadrature(dim, degree);
 	secondOrderAssembler->setQuadrature(quadrature);
@@ -378,7 +378,7 @@ namespace AMDiS {
     if (firstOrderAssemblerGrdPsi) {
       // create quadrature
       if (!firstOrderAssemblerGrdPsi->getQuadrature()) {
-	int dim = rowFESpace->getMesh()->getDim();
+	int dim = rowFeSpace->getMesh()->getDim();
 	int degree = operat->getQuadratureDegree(1, GRD_PSI);
 	Quadrature *quadrature = Quadrature::provideQuadrature(dim, degree);
 	firstOrderAssemblerGrdPsi->setQuadrature(quadrature);
@@ -387,7 +387,7 @@ namespace AMDiS {
     if (firstOrderAssemblerGrdPhi) {
       // create quadrature
       if (!firstOrderAssemblerGrdPhi->getQuadrature()) {
-	int dim = rowFESpace->getMesh()->getDim();
+	int dim = rowFeSpace->getMesh()->getDim();
 	int degree = operat->getQuadratureDegree(1, GRD_PHI);
 	Quadrature *quadrature = Quadrature::provideQuadrature(dim, degree);
 	firstOrderAssemblerGrdPhi->setQuadrature(quadrature);
@@ -396,7 +396,7 @@ namespace AMDiS {
     if (zeroOrderAssembler) {
       // create quadrature
       if (!zeroOrderAssembler->getQuadrature()) {
-	int dim = rowFESpace->getMesh()->getDim();
+	int dim = rowFeSpace->getMesh()->getDim();
 	int degree = operat->getQuadratureDegree(0);
 	Quadrature *quadrature = Quadrature::provideQuadrature(dim, degree);
 	zeroOrderAssembler->setQuadrature(quadrature);
diff --git a/AMDiS/src/Assembler.h b/AMDiS/src/Assembler.h
index 1328cc219b45aad292e2278acd6e98050ef806da..e6e13a214c939bf2aebce84d68cd722f3a2417b2 100644
--- a/AMDiS/src/Assembler.h
+++ b/AMDiS/src/Assembler.h
@@ -54,8 +54,8 @@ namespace AMDiS {
   public:
     /// Constructor
     Assembler(Operator *op,
-	      const FiniteElemSpace *rowFESpace,
-	      const FiniteElemSpace *colFESpace = NULL);
+	      const FiniteElemSpace *rowFeSpace,
+	      const FiniteElemSpace *colFeSpace = NULL);
 
     /// Destructor
     ~Assembler();
@@ -85,16 +85,16 @@ namespace AMDiS {
 				ElementVector& userVec, 
 				double factor = 1.0);
 
-    /// Returns \ref rowFESpace.
-    inline const FiniteElemSpace* getRowFESpace() 
+    /// Returns \ref rowFeSpace.
+    inline const FiniteElemSpace* getRowFeSpace() 
     { 
-      return rowFESpace; 
+      return rowFeSpace; 
     }
 
-    /// Returns \ref colFESpace.
-    inline const FiniteElemSpace* getColFESpace() 
+    /// Returns \ref colFeSpace.
+    inline const FiniteElemSpace* getColFeSpace() 
     { 
-      return colFESpace; 
+      return colFeSpace; 
     }
 
     /// Returns \ref nRow.
@@ -210,10 +210,10 @@ namespace AMDiS {
     Operator *operat;
 
     /// Row FiniteElemSpace.
-    const FiniteElemSpace *rowFESpace;
+    const FiniteElemSpace *rowFeSpace;
 
     /// Column FiniteElemSpace.
-    const FiniteElemSpace *colFESpace;
+    const FiniteElemSpace *colFeSpace;
 
     /// Number of rows.
     int nRow;
@@ -287,8 +287,8 @@ namespace AMDiS {
 		      Quadrature *quad1GrdPsi,
 		      Quadrature *quad1GrdPhi,
 		      Quadrature *quad0,
-		      const FiniteElemSpace *rowFESpace,
-		      const FiniteElemSpace *colFESpace = NULL);
+		      const FiniteElemSpace *rowFeSpace,
+		      const FiniteElemSpace *colFeSpace = NULL);
   };
 
   /**
@@ -306,8 +306,8 @@ namespace AMDiS {
 		       Quadrature *quad1GrdPsi,
 		       Quadrature *quad1GrdPhi,
 		       Quadrature *quad0,
-		       const FiniteElemSpace *rowFESpace,
-		       const FiniteElemSpace *colFESpace = NULL);
+		       const FiniteElemSpace *rowFeSpace,
+		       const FiniteElemSpace *colFeSpace = NULL);
   };
 
 }
diff --git a/AMDiS/src/BoundaryCondition.h b/AMDiS/src/BoundaryCondition.h
index fb7f312bd5d16a43dc7a213512e0a56ce2072fc2..14e08395377ffcb5ccd69e8d018c068e4b91bb87 100644
--- a/AMDiS/src/BoundaryCondition.h
+++ b/AMDiS/src/BoundaryCondition.h
@@ -40,14 +40,14 @@ namespace AMDiS {
   public:
     /// Constructor.
     BoundaryCondition(BoundaryType type, 
-		      const FiniteElemSpace *rowFESpace_,
-		      const FiniteElemSpace *colFESpace_ = NULL) 
+		      const FiniteElemSpace *rowFeSpace_,
+		      const FiniteElemSpace *colFeSpace_ = NULL) 
       : boundaryType(type),
-	rowFESpace(rowFESpace_),
-	colFESpace(colFESpace_)
+	rowFeSpace(rowFeSpace_),
+	colFeSpace(colFeSpace_)
     {
-      if (!colFESpace) 
-	colFESpace = rowFESpace;
+      if (!colFeSpace) 
+	colFeSpace = rowFeSpace;
     }
 
     /// Returns \ref boundaryType.
@@ -56,16 +56,16 @@ namespace AMDiS {
       return boundaryType; 
     }
 
-    /// Returns \ref rowFESpace.
-    inline const FiniteElemSpace *getRowFESpace() 
+    /// Returns \ref rowFeSpace.
+    inline const FiniteElemSpace *getRowFeSpace() 
     { 
-      return rowFESpace; 
+      return rowFeSpace; 
     }
 
-    /// Returns \ref rowFESpace.
-    inline const FiniteElemSpace *getColFESpace() 
+    /// Returns \ref rowFeSpace.
+    inline const FiniteElemSpace *getColFeSpace() 
     { 
-      return colFESpace; 
+      return colFeSpace; 
     }
 
     virtual void initMatrix(DOFMatrix*) {}
@@ -146,10 +146,10 @@ namespace AMDiS {
     BoundaryType boundaryType;
 
     /// FiniteElemSpace for this BoundaryCondition.
-    const FiniteElemSpace *rowFESpace;
+    const FiniteElemSpace *rowFeSpace;
 
     /// FiniteElemSpace for this BoundaryCondition.
-    const FiniteElemSpace *colFESpace;
+    const FiniteElemSpace *colFeSpace;
   };
 
 }
diff --git a/AMDiS/src/BoundaryManager.cc b/AMDiS/src/BoundaryManager.cc
index 6fd1a42631da8d1755fbf40d9caba266624aadd3..6c46f50954828a643603820d9568285f693fa2ce 100644
--- a/AMDiS/src/BoundaryManager.cc
+++ b/AMDiS/src/BoundaryManager.cc
@@ -53,7 +53,7 @@ namespace AMDiS {
 					       DOFVectorBase<double> *vec)
   {
     if (localBCs.size() > 0) {
-      const FiniteElemSpace *feSpace = vec->getFESpace();
+      const FiniteElemSpace *feSpace = vec->getFeSpace();
       std::vector<DegreeOfFreedom> &dofVec = dofIndices[omp_get_thread_num()];
       const BasisFunction *basisFcts = feSpace->getBasisFcts();
       int nBasFcts = basisFcts->getNumber();
@@ -85,7 +85,7 @@ namespace AMDiS {
     if (localBCs.size() <= 0)
       return;
       
-    const FiniteElemSpace *feSpace = mat->getRowFESpace();
+    const FiniteElemSpace *feSpace = mat->getRowFeSpace();
     std::vector<DegreeOfFreedom> &dofVec = dofIndices[omp_get_thread_num()];
     const BasisFunction *basisFcts = feSpace->getBasisFcts();
     int nBasFcts = basisFcts->getNumber();
diff --git a/AMDiS/src/DOFIndexed.h b/AMDiS/src/DOFIndexed.h
index 26e4e9a925f30974ee98b6f10a78633758fa8923..5386dc5430c07e892c703014498a8047fadbd610 100644
--- a/AMDiS/src/DOFIndexed.h
+++ b/AMDiS/src/DOFIndexed.h
@@ -81,7 +81,7 @@ namespace AMDiS {
      * Returns the finite element space of this DOFIndexed object. Must be
      * overriden in sub classes. 
      */
-    virtual const FiniteElemSpace* getFESpace() const = 0;
+    virtual const FiniteElemSpace* getFeSpace() const = 0;
   };
 
   /** \ingroup DOFAdministration
diff --git a/AMDiS/src/DOFIterator.h b/AMDiS/src/DOFIterator.h
index 534914d209b61fe9a2a26442663187f164917132..7917ee5ae9aa907cc63fbf426a7d4053db03f36a 100644
--- a/AMDiS/src/DOFIterator.h
+++ b/AMDiS/src/DOFIterator.h
@@ -237,7 +237,7 @@ namespace AMDiS {
   public:
     /// Constructs a DOFIterator for cont of type t
     DOFIterator(DOFIndexed<T> *obj, DOFIteratorType t) 
-      : DOFIteratorBase(dynamic_cast<DOFAdmin*>(obj->getFESpace()->getAdmin()), t),
+      : DOFIteratorBase(dynamic_cast<DOFAdmin*>(obj->getFeSpace()->getAdmin()), t),
 	iteratedObject(obj)
     {}
 
diff --git a/AMDiS/src/DOFMatrix.cc b/AMDiS/src/DOFMatrix.cc
index b42f8880a8408dd26d98c9b031d728e4e2a9d254..b8227d970104951bab4010bad4955813c47b8ec0 100644
--- a/AMDiS/src/DOFMatrix.cc
+++ b/AMDiS/src/DOFMatrix.cc
@@ -22,8 +22,8 @@ namespace AMDiS {
   DOFMatrix *DOFMatrix::traversePtr = NULL;
 
   DOFMatrix::DOFMatrix()
-    : rowFESpace(NULL),
-      colFESpace(NULL),
+    : rowFeSpace(NULL),
+      colFeSpace(NULL),
       elementMatrix(3, 3),
       nRow(0),
       nCol(0),
@@ -34,8 +34,8 @@ namespace AMDiS {
   DOFMatrix::DOFMatrix(const FiniteElemSpace* rowSpace,
 		       const FiniteElemSpace* colSpace,
 		       std::string n)
-    : rowFESpace(rowSpace),
-      colFESpace(colSpace),
+    : rowFeSpace(rowSpace),
+      colFeSpace(colSpace),
       name(n), 
       coupleMatrix(false),
       nnzPerRow(0),
@@ -43,18 +43,18 @@ namespace AMDiS {
   {
     FUNCNAME("DOFMatrix::DOFMatrix()");
 
-    TEST_EXIT(rowFESpace)("No fe space for row!\n");
+    TEST_EXIT(rowFeSpace)("No fe space for row!\n");
   
-    if (!colFESpace)
-      colFESpace = rowFESpace;
+    if (!colFeSpace)
+      colFeSpace = rowFeSpace;
 
-    if (rowFESpace && rowFESpace->getAdmin())
-      (const_cast<DOFAdmin*>(rowFESpace->getAdmin()))->addDOFIndexed(this);
+    if (rowFeSpace && rowFeSpace->getAdmin())
+      (const_cast<DOFAdmin*>(rowFeSpace->getAdmin()))->addDOFIndexed(this);
 
-    boundaryManager = new BoundaryManager(rowFESpace);
+    boundaryManager = new BoundaryManager(rowFeSpace);
 
-    nRow = rowFESpace->getBasisFcts()->getNumber();
-    nCol = colFESpace->getBasisFcts()->getNumber();
+    nRow = rowFeSpace->getBasisFcts()->getNumber();
+    nCol = colFeSpace->getBasisFcts()->getNumber();
     elementMatrix.change_dim(nRow, nCol);
     rowIndices.resize(nRow);
     colIndices.resize(nCol);
@@ -68,8 +68,8 @@ namespace AMDiS {
     FUNCNAME("DOFMatrix::DOFMatrix()");
 
     *this = rhs;
-    if (rowFESpace && rowFESpace->getAdmin())
-      (const_cast<DOFAdmin*>( rowFESpace->getAdmin()))->addDOFIndexed(this);
+    if (rowFeSpace && rowFeSpace->getAdmin())
+      (const_cast<DOFAdmin*>( rowFeSpace->getAdmin()))->addDOFIndexed(this);
 
     TEST_EXIT(rhs.inserter == 0)("Cannot copy during insertion!\n");
     inserter = 0;
@@ -79,8 +79,8 @@ namespace AMDiS {
   {
     FUNCNAME("DOFMatrix::~DOFMatrix()");
 
-    if (rowFESpace && rowFESpace->getAdmin())
-      (const_cast<DOFAdmin*>(rowFESpace->getAdmin()))->removeDOFIndexed(this);
+    if (rowFeSpace && rowFeSpace->getAdmin())
+      (const_cast<DOFAdmin*>(rowFeSpace->getAdmin()))->removeDOFIndexed(this);
     if (boundaryManager) 
       delete boundaryManager;
     if (inserter) 
@@ -134,8 +134,8 @@ namespace AMDiS {
 
   DOFMatrix& DOFMatrix::operator=(const DOFMatrix& rhs)
   {
-    rowFESpace = rhs.rowFESpace;
-    colFESpace = rhs.colFESpace;
+    rowFeSpace = rhs.rowFeSpace;
+    colFeSpace = rhs.colFeSpace;
     operators = rhs.operators;
     operatorFactor = rhs.operatorFactor;
     coupleMatrix = rhs.coupleMatrix;
@@ -168,20 +168,20 @@ namespace AMDiS {
  
     // === Get indices mapping from local to global matrix indices. ===
 
-    rowFESpace->getBasisFcts()->getLocalIndices(rowElInfo->getElement(),
-						rowFESpace->getAdmin(),
+    rowFeSpace->getBasisFcts()->getLocalIndices(rowElInfo->getElement(),
+						rowFeSpace->getAdmin(),
 						rowIndices);
-    if (rowFESpace == colFESpace) {
+    if (rowFeSpace == colFeSpace) {
       colIndices = rowIndices;
     } else {
       if (colElInfo) {
-	colFESpace->getBasisFcts()->getLocalIndices(colElInfo->getElement(),
-						    colFESpace->getAdmin(),
+	colFeSpace->getBasisFcts()->getLocalIndices(colElInfo->getElement(),
+						    colFeSpace->getAdmin(),
 						    colIndices);
       } else {
 	// If there is no colElInfo pointer, use rowElInfo the get the indices.
-	colFESpace->getBasisFcts()->getLocalIndices(rowElInfo->getElement(),
-						    colFESpace->getAdmin(),
+	colFeSpace->getBasisFcts()->getLocalIndices(rowElInfo->getElement(),
+						    colFeSpace->getAdmin(),
 						    colIndices);
       }
     }
diff --git a/AMDiS/src/DOFMatrix.h b/AMDiS/src/DOFMatrix.h
index f297d46ca38a56eea4130dea7fbf2a267425be0e..778a7ffa229d555e46876fe8ba7f83d76507ec1f 100644
--- a/AMDiS/src/DOFMatrix.h
+++ b/AMDiS/src/DOFMatrix.h
@@ -70,8 +70,8 @@ namespace AMDiS {
   public:    
     DOFMatrix();
 
-    /// Constructs a DOFMatrix with name n and the given row and olumn FESpaces.
-    DOFMatrix(const FiniteElemSpace* rowFESpace, const FiniteElemSpace* colFESpace,
+    /// Constructs a DOFMatrix with name n and the given row and olumn FeSpaces.
+    DOFMatrix(const FiniteElemSpace* rowFeSpace, const FiniteElemSpace* colFeSpace,
 	      std::string n = "");
 
     /// Copy-Constructor
@@ -271,22 +271,22 @@ namespace AMDiS {
       return false;
     }
 
-    /// Returns const \ref rowFESpace
-    const FiniteElemSpace* getRowFESpace() const 
+    /// Returns const \ref rowFeSpace
+    const FiniteElemSpace* getRowFeSpace() const 
     { 
-      return rowFESpace; 
+      return rowFeSpace; 
     }
 
-    /// Returns const \ref colFESpace
-    const FiniteElemSpace* getColFESpace() const 
+    /// Returns const \ref colFeSpace
+    const FiniteElemSpace* getColFeSpace() const 
     { 
-      return colFESpace; 
+      return colFeSpace; 
     }
 
-    /// Returns const \ref rowFESpace
-    const FiniteElemSpace* getFESpace() const 
+    /// Returns const \ref rowFeSpace
+    const FiniteElemSpace* getFeSpace() const 
     { 
-      return rowFESpace; 
+      return rowFeSpace; 
     }
 
     /// Returns number of rows (\ref matrix.size())
@@ -301,7 +301,7 @@ namespace AMDiS {
      */
     inline int getUsedSize() const 
     {
-      return rowFESpace->getAdmin()->getUsedSize();
+      return rowFeSpace->getAdmin()->getUsedSize();
     }
 
     /// Returns \ref name
@@ -415,13 +415,13 @@ namespace AMDiS {
      * Pointer to a FiniteElemSpace with information about corresponding row DOFs
      * and basis functions
      */
-    const FiniteElemSpace *rowFESpace;
+    const FiniteElemSpace *rowFeSpace;
 
     /** \brief
      * Pointer to a FiniteElemSpace with information about corresponding 
      * column DOFs and basis functions
      */
-    const FiniteElemSpace *colFESpace;
+    const FiniteElemSpace *colFeSpace;
 
     /// Name of the DOFMatrix
     std::string name;
diff --git a/AMDiS/src/DOFVector.cc b/AMDiS/src/DOFVector.cc
index 5a0924847c8501afaf65db16e5cb15cbe57ff23e..7abbcce4c1a827970983fed79561192a3dd4a43b 100644
--- a/AMDiS/src/DOFVector.cc
+++ b/AMDiS/src/DOFVector.cc
@@ -65,7 +65,7 @@ namespace AMDiS {
     if (grad) {
       result = grad;
     } else {
-      if(result && result->getFESpace() != feSpace) {
+      if(result && result->getFeSpace() != feSpace) {
 	delete result;
 	result = new DOFVector<WorldVector<double> >(feSpace, "gradient");
       }
@@ -154,7 +154,7 @@ namespace AMDiS {
     DOFVector<WorldVector<double> > *result = grad;
 
     if (!result) {
-      if (vec && vec->getFESpace() != feSpace) {
+      if (vec && vec->getFeSpace() != feSpace) {
 	delete vec;
 	vec = NULL;
       }
@@ -474,7 +474,7 @@ namespace AMDiS {
   {
     FUNCNAME("DOFVector<double>::interpol()");
 
-    const FiniteElemSpace *sourceFeSpace = source->getFESpace();
+    const FiniteElemSpace *sourceFeSpace = source->getFeSpace();
     const BasisFunction *basisFcts = feSpace->getBasisFcts();
     const BasisFunction *sourceBasisFcts = sourceFeSpace->getBasisFcts();
 
@@ -562,18 +562,18 @@ namespace AMDiS {
     this->set(nul);
 
     DimVec<double> *coords = NULL;
-    const FiniteElemSpace *vFESpace = v->getFESpace();
+    const FiniteElemSpace *vFeSpace = v->getFeSpace();
 
-    if (feSpace == vFESpace)
+    if (feSpace == vFeSpace)
       WARNING("same FE-spaces\n");
 
     const BasisFunction *basFcts = feSpace->getBasisFcts();
-    const BasisFunction *vBasFcts = vFESpace->getBasisFcts();
+    const BasisFunction *vBasFcts = vFeSpace->getBasisFcts();
 
     int numBasFcts = basFcts->getNumber();
     int vNumBasFcts = vBasFcts->getNumber();
 
-    if (feSpace->getMesh() == vFESpace->getMesh()) {
+    if (feSpace->getMesh() == vFeSpace->getMesh()) {
       DegreeOfFreedom *myLocalIndices = localIndices[omp_get_thread_num()];
       WorldVector<double> *vLocalCoeffs = new WorldVector<double>[vNumBasFcts];
       Mesh *mesh = feSpace->getMesh();
@@ -634,7 +634,7 @@ namespace AMDiS {
 	result->set(NULL);
       }
       for (int i = 0; i < dow; i++) {
-	if ((*result)[i] && (*result)[i]->getFESpace() != feSpace) {
+	if ((*result)[i] && (*result)[i]->getFeSpace() != feSpace) {
 	  delete (*result)[i];
 	  (*result)[i] = new DOFVector<double>(feSpace, "gradient");
 	}
@@ -726,7 +726,7 @@ namespace AMDiS {
     if (!res && !result) {
       result = new WorldVector<DOFVector<double>*>;
       for (int i = 0; i < dow; i++)
-	(*result)[i] = new DOFVector<double>(vec->getFESpace(), "transform");
+	(*result)[i] = new DOFVector<double>(vec->getFeSpace(), "transform");
     }
 
     WorldVector<DOFVector<double>*> *r = res ? res : result;
@@ -872,7 +872,7 @@ namespace AMDiS {
 		   const DOFVector<double> &vec2,
 		   BinaryAbstractFunction<double, double, double> *fct)
   {
-    if (vec1.getFESpace()->getMesh() == vec2.getFESpace()->getMesh())
+    if (vec1.getFeSpace()->getMesh() == vec2.getFeSpace()->getMesh())
       return intSingleMesh(vec1, vec2, fct);
     else
       return intDualMesh(vec1, vec2, fct);
@@ -887,11 +887,11 @@ namespace AMDiS {
     
     TEST_EXIT(fct)("No function defined!\n");
 
-    int deg = 2 * vec1.getFESpace()->getBasisFcts()->getDegree();
+    int deg = 2 * vec1.getFeSpace()->getBasisFcts()->getDegree();
     Quadrature* quad = 
-      Quadrature::provideQuadrature(vec1.getFESpace()->getMesh()->getDim(), deg);
+      Quadrature::provideQuadrature(vec1.getFeSpace()->getMesh()->getDim(), deg);
     FastQuadrature *fastQuad =
-      FastQuadrature::provideFastQuadrature(vec1.getFESpace()->getBasisFcts(), *quad, INIT_PHI);
+      FastQuadrature::provideFastQuadrature(vec1.getFeSpace()->getBasisFcts(), *quad, INIT_PHI);
 
     std::vector<double> qp1(fastQuad->getNumPoints());
     std::vector<double> qp2(fastQuad->getNumPoints());
@@ -899,7 +899,7 @@ namespace AMDiS {
     double value = 0.0;
     Flag traverseFlag = Mesh::CALL_LEAF_EL | Mesh::FILL_COORDS | Mesh::FILL_DET;      
     TraverseStack stack;    
-    ElInfo *elInfo = stack.traverseFirst(vec1.getFESpace()->getMesh(), -1, traverseFlag);
+    ElInfo *elInfo = stack.traverseFirst(vec1.getFeSpace()->getMesh(), -1, traverseFlag);
     while (elInfo) {
       double det = elInfo->getDet();
       double tmp = 0.0;      
@@ -925,11 +925,11 @@ namespace AMDiS {
     
     TEST_EXIT(fct)("No function defined!\n");
 
-    int deg = 2 * vec1.getFESpace()->getBasisFcts()->getDegree();
+    int deg = 2 * vec1.getFeSpace()->getBasisFcts()->getDegree();
     Quadrature* quad = 
-      Quadrature::provideQuadrature(vec1.getFESpace()->getMesh()->getDim(), deg);
+      Quadrature::provideQuadrature(vec1.getFeSpace()->getMesh()->getDim(), deg);
     FastQuadrature *fastQuad =
-      FastQuadrature::provideFastQuadrature(vec1.getFESpace()->getBasisFcts(), *quad, INIT_PHI);
+      FastQuadrature::provideFastQuadrature(vec1.getFeSpace()->getBasisFcts(), *quad, INIT_PHI);
 
     std::vector<double> qp1(fastQuad->getNumPoints());
     std::vector<double> qp2(fastQuad->getNumPoints());
@@ -938,8 +938,8 @@ namespace AMDiS {
     Flag traverseFlag = Mesh::CALL_LEAF_EL | Mesh::FILL_COORDS | Mesh::FILL_DET;      
     DualTraverse dualTraverse;    
     DualElInfo dualElInfo;
-    bool cont = dualTraverse.traverseFirst(vec1.getFESpace()->getMesh(),
-					   vec2.getFESpace()->getMesh(),
+    bool cont = dualTraverse.traverseFirst(vec1.getFeSpace()->getMesh(),
+					   vec2.getFeSpace()->getMesh(),
 					   -1, -1, traverseFlag, traverseFlag,
 					   dualElInfo);
     while (cont) {
diff --git a/AMDiS/src/DOFVector.h b/AMDiS/src/DOFVector.h
index d8716809661a8bd50f1ca4f2a37dd4da74c58cd0..f2771e079e2295eb8730221283c8926231dcedec 100644
--- a/AMDiS/src/DOFVector.h
+++ b/AMDiS/src/DOFVector.h
@@ -104,7 +104,7 @@ namespace AMDiS {
 				     WorldMatrix<T> *d2AtQPs) const;
 
     /// Returns the FE space the DOF vector is defined on.
-    inline const FiniteElemSpace* getFESpace() const 
+    inline const FiniteElemSpace* getFeSpace() const 
     {
       return feSpace;
     }
diff --git a/AMDiS/src/DOFVector.hh b/AMDiS/src/DOFVector.hh
index 2bc702211162fdb7494e57435fa259f5225bd681..1a92055050a09aaccc2d62ca0224054bdf9fc696 100644
--- a/AMDiS/src/DOFVector.hh
+++ b/AMDiS/src/DOFVector.hh
@@ -375,7 +375,7 @@ namespace AMDiS {
   T DOFVectorBase<T>::evalUh(const DimVec<double>& lambda, 
 			     DegreeOfFreedom* dof_indices)
   {
-    BasisFunction* phi = const_cast<BasisFunction*>(this->getFESpace()->getBasisFcts());
+    BasisFunction* phi = const_cast<BasisFunction*>(this->getFeSpace()->getBasisFcts());
     int nBasisFcts = phi->getNumber();
     T val = 0.0;
 
@@ -394,19 +394,19 @@ namespace AMDiS {
 
     interFct = fct;
 
-    if (!this->getFESpace()) {
+    if (!this->getFeSpace()) {
       MSG("no dof admin in vec %s, skipping interpolation\n",
 	  this->getName().c_str());
       return;
     }
 
-    if (!(this->getFESpace()->getAdmin())) {
+    if (!(this->getFeSpace()->getAdmin())) {
       MSG("no dof admin in feSpace %s, skipping interpolation\n", 
-	  this->getFESpace()->getName().c_str());
+	  this->getFeSpace()->getName().c_str());
       return;
     }
   
-    if (!(this->getFESpace()->getBasisFcts())) {
+    if (!(this->getFeSpace()->getBasisFcts())) {
       MSG("no basis functions in admin of vec %s, skipping interpolation\n",
 	  this->getName().c_str());
       return;
@@ -421,7 +421,7 @@ namespace AMDiS {
     traverseVector = this;
 
     TraverseStack stack;
-    ElInfo *elInfo = stack.traverseFirst(this->getFESpace()->getMesh(), -1,
+    ElInfo *elInfo = stack.traverseFirst(this->getFeSpace()->getMesh(), -1,
 					 Mesh::CALL_LEAF_EL | Mesh::FILL_COORDS);
     while (elInfo) {
       interpolFct(elInfo);
@@ -432,8 +432,8 @@ namespace AMDiS {
   template<typename T>
   void DOFVector<T>::interpolFct(ElInfo* elinfo)
   {
-    const BasisFunction *basFct = traverseVector->getFESpace()->getBasisFcts();
-    const DOFAdmin* admin = traverseVector->getFESpace()->getAdmin();
+    const BasisFunction *basFct = traverseVector->getFeSpace()->getBasisFcts();
+    const DOFAdmin* admin = traverseVector->getFeSpace()->getAdmin();
     const T *inter_val = 
       const_cast<BasisFunction*>(basFct)->interpol(elinfo, 0, NULL,
 						   traverseVector->interFct, NULL);
@@ -661,8 +661,8 @@ namespace AMDiS {
   {
     FUNCNAME("DOFVector<T>::operator*=(DOFVector<T>& x, T scal)");
 
-    TEST_EXIT_DBG(x.getFESpace() && x.getFESpace()->getAdmin())
-      ("pointer is NULL: %8X, %8X\n", x.getFESpace(), x.getFESpace()->getAdmin());
+    TEST_EXIT_DBG(x.getFeSpace() && x.getFeSpace()->getAdmin())
+      ("pointer is NULL: %8X, %8X\n", x.getFeSpace(), x.getFeSpace()->getAdmin());
 
     typename DOFVector<T>::Iterator vecIterator(dynamic_cast<DOFIndexed<T>*>(&x), 
 						USED_DOFS);
@@ -678,12 +678,12 @@ namespace AMDiS {
   {
     FUNCNAME("DOFVector<T>::operator+=(DOFVector<T>& x, const DOFVector<T>& y)");
     
-    TEST_EXIT_DBG(x.getFESpace() && y.getFESpace())
-      ("feSpace is NULL: %8X, %8X\n", x.getFESpace(), y.getFESpace());
-    TEST_EXIT_DBG(x.getFESpace()->getAdmin() &&
-	      (x.getFESpace()->getAdmin() == y.getFESpace()->getAdmin()))
+    TEST_EXIT_DBG(x.getFeSpace() && y.getFeSpace())
+      ("feSpace is NULL: %8X, %8X\n", x.getFeSpace(), y.getFeSpace());
+    TEST_EXIT_DBG(x.getFeSpace()->getAdmin() &&
+	      (x.getFeSpace()->getAdmin() == y.getFeSpace()->getAdmin()))
       ("no admin or different admins: %8X, %8X\n",
-       x.getFESpace()->getAdmin(), y.getFESpace()->getAdmin());
+       x.getFeSpace()->getAdmin(), y.getFeSpace()->getAdmin());
     TEST_EXIT_DBG(x.getSize() == y.getSize())("different sizes\n");
     
     typename DOFVector<T>::Iterator xIterator(dynamic_cast<DOFIndexed<T>*>(&x), USED_DOFS);
@@ -700,12 +700,12 @@ namespace AMDiS {
   {
     FUNCNAME("DOFVector<T>::operator-=(DOFVector<T>& x, const DOFVector<T>& y)");
 
-    TEST_EXIT_DBG(x.getFESpace() && y.getFESpace())
-      ("feSpace is NULL: %8X, %8X\n", x.getFESpace(), y.getFESpace());
-    TEST_EXIT_DBG(x.getFESpace()->getAdmin() &&
-	      (x.getFESpace()->getAdmin() == y.getFESpace()->getAdmin()))
+    TEST_EXIT_DBG(x.getFeSpace() && y.getFeSpace())
+      ("feSpace is NULL: %8X, %8X\n", x.getFeSpace(), y.getFeSpace());
+    TEST_EXIT_DBG(x.getFeSpace()->getAdmin() &&
+	      (x.getFeSpace()->getAdmin() == y.getFeSpace()->getAdmin()))
       ("no admin or different admins: %8X, %8X\n",
-       x.getFESpace()->getAdmin(), y.getFESpace()->getAdmin());
+       x.getFeSpace()->getAdmin(), y.getFeSpace()->getAdmin());
     TEST_EXIT_DBG(x.getSize() == y.getSize())("different sizes\n");
     
     typename DOFVector<T>::Iterator xIterator(dynamic_cast<DOFIndexed<T>*>(&x), USED_DOFS);
@@ -722,12 +722,12 @@ namespace AMDiS {
   {
     FUNCNAME("DOFVector<T>::operator*=(DOFVector<T>& x, const DOFVector<T>& y)");
     
-    TEST_EXIT_DBG(x.getFESpace() && y.getFESpace())
-      ("feSpace is NULL: %8X, %8X\n", x.getFESpace(), y.getFESpace());
-    TEST_EXIT_DBG(x.getFESpace()->getAdmin() &&
-	      (x.getFESpace()->getAdmin() == y.getFESpace()->getAdmin()))
+    TEST_EXIT_DBG(x.getFeSpace() && y.getFeSpace())
+      ("feSpace is NULL: %8X, %8X\n", x.getFeSpace(), y.getFeSpace());
+    TEST_EXIT_DBG(x.getFeSpace()->getAdmin() &&
+	      (x.getFeSpace()->getAdmin() == y.getFeSpace()->getAdmin()))
       ("no admin or different admins: %8X, %8X\n",
-       x.getFESpace()->getAdmin(), y.getFESpace()->getAdmin());
+       x.getFeSpace()->getAdmin(), y.getFeSpace()->getAdmin());
     TEST_EXIT_DBG(x.getSize() == y.getSize())("different sizes\n");
     
     typename DOFVector<T>::Iterator xIterator(dynamic_cast<DOFIndexed<T>*>(&x), USED_DOFS);
@@ -745,11 +745,11 @@ namespace AMDiS {
     FUNCNAME("DOFVector<T>::operator*(DOFVector<T>& x, DOFVector<T>& y)");
     const DOFAdmin *admin = NULL;
 
-    TEST_EXIT(x.getFESpace() && y.getFESpace())
-      ("feSpace is NULL: %8X, %8X\n", x.getFESpace(), y.getFESpace());
-    TEST_EXIT((admin = x.getFESpace()->getAdmin()) && (admin == y.getFESpace()->getAdmin()))
+    TEST_EXIT(x.getFeSpace() && y.getFeSpace())
+      ("feSpace is NULL: %8X, %8X\n", x.getFeSpace(), y.getFeSpace());
+    TEST_EXIT((admin = x.getFeSpace()->getAdmin()) && (admin == y.getFeSpace()->getAdmin()))
       ("no admin or different admins: %8X, %8X\n",
-       x.getFESpace()->getAdmin(), y.getFESpace()->getAdmin());
+       x.getFeSpace()->getAdmin(), y.getFeSpace()->getAdmin());
     TEST_EXIT(x.getSize() == y.getSize())("different sizes\n");
 
     T dot = 0;
@@ -772,22 +772,22 @@ namespace AMDiS {
 
     FUNCNAME("DOFVector<T>::mv()");
 
-    TEST_EXIT(a.getRowFESpace() && a.getColFESpace() && 
-	      x.getFESpace() && result.getFESpace())
-      ("getFESpace() is NULL: %8X, %8X, %8X, %8X\n", 
-       a.getRowFESpace(), a.getColFESpace(), x.getFESpace(), result.getFESpace());
+    TEST_EXIT(a.getRowFeSpace() && a.getColFeSpace() && 
+	      x.getFeSpace() && result.getFeSpace())
+      ("getFeSpace() is NULL: %8X, %8X, %8X, %8X\n", 
+       a.getRowFeSpace(), a.getColFeSpace(), x.getFeSpace(), result.getFeSpace());
 
-    const DOFAdmin *rowAdmin = a.getRowFESpace()->getAdmin();
-    const DOFAdmin *colAdmin = a.getColFESpace()->getAdmin();
+    const DOFAdmin *rowAdmin = a.getRowFeSpace()->getAdmin();
+    const DOFAdmin *colAdmin = a.getColFeSpace()->getAdmin();
 
     TEST_EXIT((rowAdmin && colAdmin) && 
-	      (((transpose == NoTranspose) && (colAdmin == x.getFESpace()->getAdmin()) && 
-		(rowAdmin == result.getFESpace()->getAdmin()))||
-	       ((transpose == Transpose) && (rowAdmin == x.getFESpace()->getAdmin()) && 
-		(colAdmin == result.getFESpace()->getAdmin()))))
+	      (((transpose == NoTranspose) && (colAdmin == x.getFeSpace()->getAdmin()) && 
+		(rowAdmin == result.getFeSpace()->getAdmin()))||
+	       ((transpose == Transpose) && (rowAdmin == x.getFeSpace()->getAdmin()) && 
+		(colAdmin == result.getFeSpace()->getAdmin()))))
       ("no admin or different admins: %8X, %8X, %8X, %8X\n",
-       a.getRowFESpace()->getAdmin(), a.getColFESpace()->getAdmin(), 
-       x.getFESpace()->getAdmin(), result.getFESpace()->getAdmin());
+       a.getRowFeSpace()->getAdmin(), a.getColFeSpace()->getAdmin(), 
+       x.getFeSpace()->getAdmin(), result.getFeSpace()->getAdmin());
 
 
     if (transpose == NoTranspose)
@@ -803,14 +803,14 @@ namespace AMDiS {
   {
     FUNCNAME("DOFVector<T>::axpy()");
 
-    TEST_EXIT(x.getFESpace() && y.getFESpace())
-      ("feSpace is NULL: %8X, %8X\n", x.getFESpace(), y.getFESpace());
+    TEST_EXIT(x.getFeSpace() && y.getFeSpace())
+      ("feSpace is NULL: %8X, %8X\n", x.getFeSpace(), y.getFeSpace());
 
-    const DOFAdmin *admin = x.getFESpace()->getAdmin();
+    const DOFAdmin *admin = x.getFeSpace()->getAdmin();
 
-    TEST_EXIT((admin) && (admin == y.getFESpace()->getAdmin()))
+    TEST_EXIT((admin) && (admin == y.getFeSpace()->getAdmin()))
       ("no admin or different admins: %8X, %8X\n",
-       x.getFESpace()->getAdmin(), y.getFESpace()->getAdmin());
+       x.getFeSpace()->getAdmin(), y.getFeSpace()->getAdmin());
     TEST_EXIT(static_cast<int>(x.getSize()) >= admin->getUsedSize())
       ("size = %d too small: admin->size = %d\n", x.getSize(), 
        admin->getUsedSize());
@@ -869,14 +869,14 @@ namespace AMDiS {
   {
     FUNCNAME("DOFVector<T>::xpay()");
 
-    TEST_EXIT(x.getFESpace() && y.getFESpace())
-      ("feSpace is NULL: %8X, %8X\n", x.getFESpace(), y.getFESpace());
+    TEST_EXIT(x.getFeSpace() && y.getFeSpace())
+      ("feSpace is NULL: %8X, %8X\n", x.getFeSpace(), y.getFeSpace());
 
-    const DOFAdmin *admin = x.getFESpace()->getAdmin();
+    const DOFAdmin *admin = x.getFeSpace()->getAdmin();
 
-    TEST_EXIT(admin && (admin == y.getFESpace()->getAdmin()))
+    TEST_EXIT(admin && (admin == y.getFeSpace()->getAdmin()))
       ("no admin or different admins: %8X, %8X\n",
-       x.getFESpace()->getAdmin(), y.getFESpace()->getAdmin());
+       x.getFeSpace()->getAdmin(), y.getFeSpace()->getAdmin());
     TEST_EXIT(static_cast<int>(x.getSize()) >= admin->getUsedSize())
       ("size = %d too small: admin->size = %d\n", x.getSize(), 
        admin->getUsedSize());
diff --git a/AMDiS/src/Debug.cc b/AMDiS/src/Debug.cc
index e3857d421f5e2bd20f92ce9e58e4135a1c943e8e..aff7702ff689b3118604943cc52ff2f1ff4659ff 100644
--- a/AMDiS/src/Debug.cc
+++ b/AMDiS/src/Debug.cc
@@ -98,10 +98,10 @@ namespace AMDiS {
     {
       // === Get local indices of the given element. ===
       
-      const BasisFunction *basisFcts = vec.getFESpace()->getBasisFcts();
+      const BasisFunction *basisFcts = vec.getFeSpace()->getBasisFcts();
       int nBasisFcts = basisFcts->getNumber();
       std::vector<DegreeOfFreedom> localDofs(nBasisFcts);
-      basisFcts->getLocalIndices(el, vec.getFESpace()->getAdmin(), localDofs);
+      basisFcts->getLocalIndices(el, vec.getFeSpace()->getAdmin(), localDofs);
       
       // === Set the values of the dof vector. ===
       
diff --git a/AMDiS/src/DirichletBC.cc b/AMDiS/src/DirichletBC.cc
index ea8fdab07bab76e31fd5ca70939ec4391b47e51a..db69cff0eb99f750e73c1c287b84c78ef1f6003f 100644
--- a/AMDiS/src/DirichletBC.cc
+++ b/AMDiS/src/DirichletBC.cc
@@ -8,10 +8,10 @@ namespace AMDiS {
 
   DirichletBC::DirichletBC(BoundaryType type,
 			   AbstractFunction<double, WorldVector<double> > *fct,
-			   FiniteElemSpace *rowFESpace,
-			   FiniteElemSpace *colFESpace,
+			   FiniteElemSpace *rowFeSpace,
+			   FiniteElemSpace *colFeSpace,
 			   bool apply)
-    : BoundaryCondition(type, rowFESpace, colFESpace), 
+    : BoundaryCondition(type, rowFeSpace, colFeSpace), 
       f(fct), 
       dofVec(NULL),
       applyBC(apply)
@@ -23,7 +23,7 @@ namespace AMDiS {
   DirichletBC::DirichletBC(BoundaryType type,
 			   DOFVectorBase<double> *vec,
 			   bool apply)
-    : BoundaryCondition(type, vec->getFESpace(), vec->getFESpace()), 
+    : BoundaryCondition(type, vec->getFeSpace(), vec->getFeSpace()), 
       f(NULL), 
       dofVec(vec),
       applyBC(apply)
@@ -37,7 +37,7 @@ namespace AMDiS {
 					  int nBasFcts)
   {
     FUNCNAME("DirichletBC::fillBoundaryCondition()");
-    TEST_EXIT_DBG(matrix->getRowFESpace() == rowFESpace)("invalid row fe space\n");
+    TEST_EXIT_DBG(matrix->getRowFeSpace() == rowFeSpace)("invalid row fe space\n");
   }
 
 
@@ -49,9 +49,9 @@ namespace AMDiS {
   {
     FUNCNAME("DirichletBC::fillBoundaryCondition()");
 
-    TEST_EXIT_DBG(vector->getFESpace() == rowFESpace)("invalid row fe space\n");
+    TEST_EXIT_DBG(vector->getFeSpace() == rowFeSpace)("invalid row fe space\n");
 
-    const BasisFunction *basFcts = rowFESpace->getBasisFcts();
+    const BasisFunction *basFcts = rowFeSpace->getBasisFcts();
     int myRank = omp_get_thread_num();
 
     for (int i = 0; i < nBasFcts; i++) {
diff --git a/AMDiS/src/DirichletBC.h b/AMDiS/src/DirichletBC.h
index eac7566a211a36f574f8a78d626bdef3170b1d98..0c827e1068baa8d985c7ab286620355c0283e571 100644
--- a/AMDiS/src/DirichletBC.h
+++ b/AMDiS/src/DirichletBC.h
@@ -43,8 +43,8 @@ namespace AMDiS {
     /// Constructor.
     DirichletBC(BoundaryType type,
 		AbstractFunction<double, WorldVector<double> > *fct,
-		FiniteElemSpace *rowFESpace,
-		FiniteElemSpace *colFESpace = NULL,
+		FiniteElemSpace *rowFeSpace,
+		FiniteElemSpace *colFeSpace = NULL,
 		bool apply = true);
 
     /// Constructor.
diff --git a/AMDiS/src/ElInfo2d.cc b/AMDiS/src/ElInfo2d.cc
index 60c9f20430fa0ba9a623cec74c7e002c4ce1105d..fd2b917c7b88054207aa85383637f66150ed727b 100644
--- a/AMDiS/src/ElInfo2d.cc
+++ b/AMDiS/src/ElInfo2d.cc
@@ -71,38 +71,38 @@ namespace AMDiS {
 
 
 
-  double ElInfo2d::mat_d4_left_val[15][15] = {{0.0, 1.0, 0.0, 0.273437, 0.0, 0.0, 0.023437, 0.0, 0.0, 0.0, 0.0, 0.0, 0.023437, 0.0, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.023437, 0.023437, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+  double ElInfo2d::mat_d4_left_val[15][15] = {{0.0, 1.0, 0.0, 2.734375e-01, 0.0, -3.90625e-02, 2.34375e-02, 0.0, -3.90625e-02, 0.0, 0.0, 0.0, 2.34375e-02, -3.90625e-02, 0.0},
+					      {0.0, 0.0, 0.0, -3.90625e-02, 0.0, 2.34375e-02, 2.34375e-02, 0.0, -3.90625e-02, 0.0, 0.0, 0.0, -3.90625e-02, -3.90625e-02, 0.0},
 					      {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1875, 0.0, 0.0, 0.0, 0.125, 0.0625, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.375, 0.0, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1875, 0.0, 0.0, 1.0, 0.0, 0.3125, 0.0},
-					      {0.0, 0.0, 0.0, 1.093750, 1.0, 0.468750, 0.0, 0.0, 0.031250, 0.0, 0.0, 0.0, 0.0, 0.156250, 0.0},
-					      {0.0, 0.0, 1.0, 0.0, 0.0, 0.703125, 0.140625, 0.0, 0.015625, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					      {0.0, 0.0, 0.0, 0.218750, 0.0, 0.0, 0.0, 0.0, 0.031250, 0.0, 0.0, 0.0, 0.093750, 0.156250, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5625, 0.0, 0.0, 0.0, 0.0, 0.0, 0.375, 0.9375, 1.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5625, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.75, 0.0, 0.0, 0.0, 0.75, 0.0, 0.0}};  
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -6.25e-02, 0.0, 1.875e-01, 0.0, 0.0, 0.0, 1.25e-01, 6.25e-02, 0.0},
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.75e-01, 0.0, 0.0, 0.0, -1.25e-01, 0.0, 0.0},
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.e-01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.e-01, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.75e-01, 0.0, 1.0, 0.0, 3.75e-01, 0.0, 0.0},
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -6.25e-02, 0.0, 1.875e-01, 0.0, 0.0, 1.0, -1.25e-01, 3.125e-01, 0.0},
+					      {0.0, 0.0, 0.0, 1.09375e+00, 1.0, 4.6875e-01, -9.375e-02, 0.0, 3.125e-02, 0.0, 0.0, 0.0, -3.125e-02, 1.5625e-01, 0.0},
+					      {0.0, 0.0, 1.0, -5.46875e-01, 0.0, 7.03125e-01, 1.40625e-01, 0.0, 1.5625e-02, 0.0, 0.0, 0.0, -4.6875e-02, -2.34375e-01, 0.0},
+					      {0.0, 0.0, 0.0, 2.1875e-01, 0.0, -1.5625e-01, -9.375e-02, 0.0, 3.125e-02, 0.0, 0.0, 0.0, 9.375e-02, 1.5625e-01, 0.0},
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.625e-01, 0.0, -1.875e-01, 0.0, 0.0, 0.0, 3.75e-01, 9.375e-01, 1.0},
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.625e-01, 0.0, -1.875e-01, 0.0, 0.0, 0.0, -3.75e-01, -3.125e-01, 0.0},
+					      {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 7.5e-01, 0.0, 0.0, 0.0, 7.5e-01, 0.0, 0.0}};
   mtl::dense2D<double> ElInfo2d::mat_d4_left(mat_d4_left_val);
 
-  double ElInfo2d::mat_d4_right_val[15][15] = {{0.0, 0.0, 0.0, 0.0, 0.0, 0.023437, 0.023437, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					       {1.0, 0.0, 0.0, 0.0, 0.0, 0.023437, 0.0, 0.0, 0.273437, 0.0, 0.0, 0.0, 0.0, 0.023437, 0.0},
+  double ElInfo2d::mat_d4_right_val[15][15] = {{0.0, 0.0, 0.0, -3.90625e-02, 0.0, 2.34375e-02, 2.34375e-02, 0.0, -3.90625e-02, 0.0, 0.0, 0.0, -3.90625e-02, -3.90625e-02, 0.0},
+					       {1.0, 0.0, 0.0, -3.90625e-02, 0.0, 2.34375e-02, -3.90625e-02, 0.0, 2.734375e-01, 0.0, 0.0, 0.0, -3.90625e-02, 2.34375e-02, 0.0},
 					       {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					       {0.0, 0.0, 0.0, 0.1875, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3125, 0.0, 0.0},
-					       {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.375, 0.0},
-					       {0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
-					       {0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					       {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					       {0.0, 0.0, 0.0, 0.1875, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0625, 0.125, 0.0},
-					       {0.0, 0.0, 0.0, 0.031250, 0.0, 0.0, 0.0, 0.0, 0.218750, 0.0, 0.0, 0.0, 0.156250, 0.093750, 0.0},
-					       {0.0, 0.0, 1.0, 0.015625, 0.0, 0.140625, 0.703125, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					       {0.0, 0.0, 0.0, 0.031250, 0.0, 0.0, 0.468750, 1.0, 1.093750, 0.0, 0.0, 0.0, 0.156250, 0.0, 0.0},
-					       {0.0, 0.0, 0.0, 0.0, 0.0, 0.5625, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
-					       {0.0, 0.0, 0.0, 0.0, 0.0, 0.5625, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9375, 0.375, 1.0},
-					       {0.0, 0.0, 0.0, 0.75, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.75, 0.0}};  
+					       {0.0, 0.0, 0.0, 1.875e-01, 0.0, -6.25e-02, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 3.125e-01, -1.25e-01, 0.0},
+					       {0.0, 0.0, 0.0, -3.75e-01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 3.75e-01, 0.0},
+					       {0.0, 0.0, 0.0, 5.0e-01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0},
+					       {0.0, 0.0, 0.0, 5.0e-01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
+					       {0.0, 0.0, 0.0, -3.75e-01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.25e-01, 0.0},
+					       {0.0, 0.0, 0.0, 1.875e-01, 0.0, -6.25e-02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.25e-02, 1.25e-01, 0.0},
+					       {0.0, 0.0, 0.0, 3.125e-02, 0.0, -9.375e-02, -1.5625e-01, 0.0, 2.1875e-01, 0.0, 0.0, 0.0, 1.5625e-01, 9.375e-02, 0.0},
+					       {0.0, 0.0, 1.0, 1.5625e-02, 0.0, 1.40625e-01, 7.03125e-01, 0.0, -5.46875e-01, 0.0, 0.0, 0.0, -2.34375e-01, -4.6875e-02, 0.0},
+					       {0.0, 0.0, 0.0, 3.125e-02, 0.0, -9.375e-02, 4.6875e-01, 1.0, 1.09375e+00, 0.0, 0.0, 0.0, 1.5625e-01, -3.125e-02, 0.0},
+					       {0.0, 0.0, 0.0, -1.875e-01, 0.0, 5.625e-01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.125e-01, -3.75e-01, 0.0},
+					       {0.0, 0.0, 0.0, -1.875e-01, 0.0, 5.625e-01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.375e-01, 3.75e-01, 1.0},
+					       {0.0, 0.0, 0.0, 7.5e-01, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.5e-01, 0.0}};
   mtl::dense2D<double> ElInfo2d::mat_d4_right(mat_d4_right_val);
 
 
diff --git a/AMDiS/src/ElementFunction.h b/AMDiS/src/ElementFunction.h
index 8576d80a23d007117a5113ccdfbf41f012cac368..10e5e6f1cac499fafa4e0b56808812004bfd2975 100644
--- a/AMDiS/src/ElementFunction.h
+++ b/AMDiS/src/ElementFunction.h
@@ -91,9 +91,9 @@ namespace AMDiS {
     /// evaluation at given coordinates.
     T operator()(const DimVec<double>& bary) const 
     {
-      T* localVec = new T[dofVector->getFESpace()->getBasisFcts()->getNumber()];
+      T* localVec = new T[dofVector->getFeSpace()->getBasisFcts()->getNumber()];
       dofVector->getLocalVector(this->elInfo->getElement(), localVec);
-      T t = dofVector->getFESpace()->getBasisFcts()->evalUh(bary, localVec);
+      T t = dofVector->getFeSpace()->getBasisFcts()->evalUh(bary, localVec);
 
       delete [] localVec;
       return t;
diff --git a/AMDiS/src/Error.hh b/AMDiS/src/Error.hh
index 9dd255b15c7e8851acc1a8e3f0ea0d4cffbcc42c..918d09cb5adc2967d59e8893cf2922b52455b407 100644
--- a/AMDiS/src/Error.hh
+++ b/AMDiS/src/Error.hh
@@ -33,7 +33,7 @@ namespace AMDiS {
       ERROR("no function u specified; doing nothing\n");
       return(-1.0);
     }
-    if (!(errUh = &uh) || !(fe_space = uh->getFESpace())) {
+    if (!(errUh = &uh) || !(fe_space = uh->getFeSpace())) {
       ERROR("no discrete function or no fe_space for it; doing nothing\n");
       return(-1.0);
     }
@@ -88,7 +88,7 @@ namespace AMDiS {
     pGrdU = &grdU;
     errUh = &uh;
 
-    if (!(fe_space = uh.getFESpace())) {
+    if (!(fe_space = uh.getFeSpace())) {
       ERROR("no fe_space for uh; doing nothing\n");
       return(0.0);
     }
@@ -197,7 +197,7 @@ namespace AMDiS {
       return(0.0);
     }
     
-    if (!(errUh = &uh)  ||  !(fe_space = uh.getFESpace())) {
+    if (!(errUh = &uh)  ||  !(fe_space = uh.getFeSpace())) {
       ERROR("no discrete function or no fe_space for it; doing nothing\n");
       return(0.0);
     }
diff --git a/AMDiS/src/Estimator.cc b/AMDiS/src/Estimator.cc
index ba4ca4bca896ee53816c8a632c6d2453376687ed..337984b5638923429a4b4d894d354e6fbe3133c1 100644
--- a/AMDiS/src/Estimator.cc
+++ b/AMDiS/src/Estimator.cc
@@ -37,7 +37,7 @@ namespace AMDiS {
     }
 
     if (!dualTraverse) {
-      mesh = uh[row == -1 ? 0 : row]->getFESpace()->getMesh();
+      mesh = uh[row == -1 ? 0 : row]->getFeSpace()->getMesh();
       auxMesh = NULL;
     } else {
       const FiniteElemSpace *mainFeSpace = traverseInfo.getRowFeSpace(row);
@@ -55,7 +55,7 @@ namespace AMDiS {
     }
     */
 
-    mesh = uh[row == -1 ? 0 : row]->getFESpace()->getMesh();
+    mesh = uh[row == -1 ? 0 : row]->getFeSpace()->getMesh();
     auxMesh = NULL;
 
     init(ts);
diff --git a/AMDiS/src/FileWriter.cc b/AMDiS/src/FileWriter.cc
index 6af8eca9410e3d0adac21e94e7f8f880ca75a248..00cb4fbb9568bdcf8217c232a937a05364b3732c 100644
--- a/AMDiS/src/FileWriter.cc
+++ b/AMDiS/src/FileWriter.cc
@@ -31,7 +31,7 @@ namespace AMDiS {
 
     initialize();
 
-    feSpace = vec->getFESpace();
+    feSpace = vec->getFeSpace();
 
     solutionVecs.resize(1);
     solutionVecs[0] = vec;
@@ -49,10 +49,10 @@ namespace AMDiS {
     initialize();
 
     for (int i = 0; i < static_cast<int>(vecs.size()); i++)
-      TEST_EXIT(vecs[0]->getFESpace() == vecs[i]->getFESpace())
-	("All FESpace have to be equal!\n");
+      TEST_EXIT(vecs[0]->getFeSpace() == vecs[i]->getFeSpace())
+	("All FeSpace have to be equal!\n");
 
-    feSpace = vecs[0]->getFESpace();
+    feSpace = vecs[0]->getFeSpace();
     solutionVecs = vecs;
   }
 
@@ -71,7 +71,7 @@ namespace AMDiS {
     nTmpSolutions = (*vec)[0].getSize();
     solutionVecs.resize(nTmpSolutions);
     for (int i = 0; i < nTmpSolutions; i++)
-      solutionVecs[i] = new DOFVector<double>(vec->getFESpace(), "");
+      solutionVecs[i] = new DOFVector<double>(vec->getFeSpace(), "");
 
     // Copy the components of the WorldVectors to different DOFVectors
     // of double values.
@@ -81,7 +81,7 @@ namespace AMDiS {
       for (int i = 0; i < nTmpSolutions; i++)
 	(*solutionVecs[i])[counter] = (*it)[i];
 
-    feSpace = vec->getFESpace();
+    feSpace = vec->getFeSpace();
   }
 
 
diff --git a/AMDiS/src/FiniteElemSpace.cc b/AMDiS/src/FiniteElemSpace.cc
index 1a17f0ab5e3215d2e1bd9a99aa5cf15bd9b2377f..50e202cabc0435607b4e16b9f3a2b562b75eefa0 100644
--- a/AMDiS/src/FiniteElemSpace.cc
+++ b/AMDiS/src/FiniteElemSpace.cc
@@ -68,7 +68,7 @@ namespace AMDiS {
     return *this;
   }
 
-  FiniteElemSpace *FiniteElemSpace::provideFESpace(DOFAdmin *admin,
+  FiniteElemSpace *FiniteElemSpace::provideFeSpace(DOFAdmin *admin,
 						   const BasisFunction *basFcts,
 						   Mesh *mesh,
 						   std::string name_)
diff --git a/AMDiS/src/FiniteElemSpace.h b/AMDiS/src/FiniteElemSpace.h
index 359f8f7049f03abea73902dcdeb4383c76ef95f6..50cff004cb0dade1243ede74b865e8f58655146a 100644
--- a/AMDiS/src/FiniteElemSpace.h
+++ b/AMDiS/src/FiniteElemSpace.h
@@ -43,7 +43,7 @@ namespace AMDiS {
     FiniteElemSpace();
 
     ///
-    static FiniteElemSpace *provideFESpace(DOFAdmin *admin,
+    static FiniteElemSpace *provideFeSpace(DOFAdmin *admin,
 					   const BasisFunction *basFcts,
 					   Mesh *mesh,
 					   std::string name = "");
diff --git a/AMDiS/src/FirstOrderAssembler.cc b/AMDiS/src/FirstOrderAssembler.cc
index e876ab19884d5a49e661e06832bfb25250a0cc77..87ae82d479736c658941d86422b0c830b79029d9 100644
--- a/AMDiS/src/FirstOrderAssembler.cc
+++ b/AMDiS/src/FirstOrderAssembler.cc
@@ -26,7 +26,7 @@ namespace AMDiS {
     : SubAssembler(op, assembler, quad, 1, optimized, type)
   {
     VectorOfFixVecs<DimVec<double> > 
-      Lb(assembler->getRowFESpace()->getMesh()->getDim(), 1, NO_INIT);
+      Lb(assembler->getRowFeSpace()->getMesh()->getDim(), 1, NO_INIT);
     tmpLb.resize(omp_get_overall_max_threads(), Lb);
   }
 
@@ -107,8 +107,8 @@ namespace AMDiS {
   {
     name = "standard first order assembler";
 
-    psi = owner->getRowFESpace()->getBasisFcts();
-    phi = owner->getColFESpace()->getBasisFcts();
+    psi = owner->getRowFeSpace()->getBasisFcts();
+    phi = owner->getColFeSpace()->getBasisFcts();
   }
 
 
@@ -182,9 +182,9 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	const BasisFunction *basFcts = owner->getRowFESpace()->getBasisFcts();
+	const BasisFunction *basFcts = owner->getRowFeSpace()->getBasisFcts();
 	psiFast = updateFastQuadrature(psiFast, basFcts, INIT_GRD_PHI);
-	basFcts = owner->getColFESpace()->getBasisFcts();
+	basFcts = owner->getColFeSpace()->getBasisFcts();
 	phiFast = updateFastQuadrature(phiFast, basFcts, INIT_PHI);
 	firstCall = false;
       }
@@ -225,9 +225,9 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	const BasisFunction *basFcts = owner->getRowFESpace()->getBasisFcts();
+	const BasisFunction *basFcts = owner->getRowFeSpace()->getBasisFcts();
 	psiFast = updateFastQuadrature(psiFast, basFcts, INIT_GRD_PHI);
-	basFcts = owner->getColFESpace()->getBasisFcts();
+	basFcts = owner->getColFeSpace()->getBasisFcts();
 	phiFast = updateFastQuadrature(phiFast, basFcts, INIT_PHI);
 	firstCall = false;
       }
@@ -270,10 +270,10 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {	
-	q10 = Q10PsiPhi::provideQ10PsiPhi(owner->getRowFESpace()->getBasisFcts(), 
-					  owner->getColFESpace()->getBasisFcts(), 
+	q10 = Q10PsiPhi::provideQ10PsiPhi(owner->getRowFeSpace()->getBasisFcts(), 
+					  owner->getColFeSpace()->getBasisFcts(), 
 					  quadrature);
-	q1 = Q1Psi::provideQ1Psi(owner->getRowFESpace()->getBasisFcts(),
+	q1 = Q1Psi::provideQ1Psi(owner->getRowFeSpace()->getBasisFcts(),
 				 quadrature);
 	firstCall = false;
       }
@@ -306,11 +306,11 @@ namespace AMDiS {
     : FirstOrderAssembler(op, assembler, quad, false, GRD_PHI)
   {
     VectorOfFixVecs<DimVec<double> > 
-      grdPhi(assembler->getRowFESpace()->getMesh()->getDim(), nCol, NO_INIT);
+      grdPhi(assembler->getRowFeSpace()->getMesh()->getDim(), nCol, NO_INIT);
     tmpGrdPhi.resize(omp_get_overall_max_threads(), grdPhi);
 
-    psi = owner->getRowFESpace()->getBasisFcts();
-    phi = owner->getColFESpace()->getBasisFcts();
+    psi = owner->getRowFeSpace()->getBasisFcts();
+    phi = owner->getColFeSpace()->getBasisFcts();
   }
 
   void Stand01::calculateElementMatrix(const ElInfo *elInfo, ElementMatrix& mat)
@@ -356,9 +356,9 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	const BasisFunction *basFcts = owner->getRowFESpace()->getBasisFcts();
+	const BasisFunction *basFcts = owner->getRowFeSpace()->getBasisFcts();
 	psiFast = updateFastQuadrature(psiFast, basFcts, INIT_PHI);
-	basFcts = owner->getColFESpace()->getBasisFcts();
+	basFcts = owner->getColFeSpace()->getBasisFcts();
 	phiFast = updateFastQuadrature(phiFast, basFcts, INIT_GRD_PHI);
 	firstCall = false;
       }
@@ -406,10 +406,10 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	q01 = Q01PsiPhi::provideQ01PsiPhi(owner->getRowFESpace()->getBasisFcts(), 
-					  owner->getColFESpace()->getBasisFcts(), 
+	q01 = Q01PsiPhi::provideQ01PsiPhi(owner->getRowFeSpace()->getBasisFcts(), 
+					  owner->getColFeSpace()->getBasisFcts(), 
 					  quadrature);
-	q1 = Q1Psi::provideQ1Psi(owner->getRowFESpace()->getBasisFcts(),
+	q1 = Q1Psi::provideQ1Psi(owner->getRowFeSpace()->getBasisFcts(),
 				 quadrature);
 	firstCall = false;
       }
@@ -451,10 +451,10 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	q10 = Q10PsiPhi::provideQ10PsiPhi(owner->getRowFESpace()->getBasisFcts(), 
-					  owner->getColFESpace()->getBasisFcts(), 
+	q10 = Q10PsiPhi::provideQ10PsiPhi(owner->getRowFeSpace()->getBasisFcts(), 
+					  owner->getColFeSpace()->getBasisFcts(), 
 					  quadrature);
-	q1 = Q1Psi::provideQ1Psi(owner->getRowFESpace()->getBasisFcts(),
+	q1 = Q1Psi::provideQ1Psi(owner->getRowFeSpace()->getBasisFcts(),
 				 quadrature);
 	firstCall = false;
       }
diff --git a/AMDiS/src/FirstOrderTerm.cc b/AMDiS/src/FirstOrderTerm.cc
index 0217373e318caf2ef15dfe592d062bc03dedffd3..894d23cc79563f79959a6891c628d7e928edae34 100644
--- a/AMDiS/src/FirstOrderTerm.cc
+++ b/AMDiS/src/FirstOrderTerm.cc
@@ -12,7 +12,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   VecAtQP_FOT::VecAtQP_FOT(DOFVectorBase<double> *dv,
@@ -23,7 +23,7 @@ namespace AMDiS {
     TEST_EXIT(dv)("No vector!\n");
 
     bOne = bIdx;
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecAtQP_FOT::initElement(const ElInfo* elInfo, 
@@ -165,7 +165,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VectorGradient_FOT::initElement(const ElInfo* elInfo, 
@@ -217,7 +217,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VectorFct_FOT::initElement(const ElInfo* elInfo, 
@@ -299,8 +299,8 @@ namespace AMDiS {
     TEST_EXIT(dv1)("No first vector!\n");
     TEST_EXIT(dv2)("No second vector!\n");
 
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());    
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());    
   }
 
   void VecGrad_FOT::initElement(const ElInfo* elInfo, 
@@ -388,8 +388,8 @@ namespace AMDiS {
       f(f_), 
       b(b_)
   {   
-    auxFeSpaces.insert(dv1->getFESpace()); 
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace()); 
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   void Vec2AndGradAtQP_FOT::initElement(const ElInfo* elInfo, 
@@ -434,7 +434,7 @@ namespace AMDiS {
 				 WorldVector<double> *b_)
     : FirstOrderTerm(f_->getDegree()), vec(dv), f(f_), b(b_)
   {
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void FctVecAtQP_FOT::initElement(const ElInfo* elInfo, 
@@ -481,8 +481,8 @@ namespace AMDiS {
     TEST_EXIT(dv1)("No first vector!\n");
     TEST_EXIT(dv2)("No second vector!\n");
 
-    auxFeSpaces.insert(dv1->getFESpace()); 
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace()); 
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   Vec2AtQP_FOT::Vec2AtQP_FOT(DOFVectorBase<double> *dv1, DOFVectorBase<double> *dv2,
@@ -494,8 +494,8 @@ namespace AMDiS {
     TEST_EXIT(dv2)("No second vector!\n");
 
     bOne = bIdx;
-    auxFeSpaces.insert(dv1->getFESpace()); 
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace()); 
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   void Vec2AtQP_FOT::initElement(const ElInfo* elInfo, 
@@ -550,9 +550,9 @@ namespace AMDiS {
       f(f_),
       b(bvec)
   { 
-    auxFeSpaces.insert(dv1->getFESpace()); 
-    auxFeSpaces.insert(dv2->getFESpace()); 
-    auxFeSpaces.insert(dv3->getFESpace());   
+    auxFeSpaces.insert(dv1->getFeSpace()); 
+    auxFeSpaces.insert(dv2->getFeSpace()); 
+    auxFeSpaces.insert(dv3->getFeSpace());   
   }
 
   Vec3FctAtQP_FOT::Vec3FctAtQP_FOT(DOFVectorBase<double> *dv1, 
@@ -567,9 +567,9 @@ namespace AMDiS {
       f(f_)
   { 
     bOne = b;
-    auxFeSpaces.insert(dv1->getFESpace()); 
-    auxFeSpaces.insert(dv2->getFESpace()); 
-    auxFeSpaces.insert(dv3->getFESpace());   
+    auxFeSpaces.insert(dv1->getFeSpace()); 
+    auxFeSpaces.insert(dv2->getFeSpace()); 
+    auxFeSpaces.insert(dv3->getFeSpace());   
   }
 
   void Vec3FctAtQP_FOT::initElement(const ElInfo* elInfo, 
@@ -628,13 +628,13 @@ namespace AMDiS {
     for (int i = 0; i < static_cast<int>(vecs.size()); i++) {
       TEST_EXIT(vecs[i])("One vector is NULL!\n");
 
-      auxFeSpaces.insert(vecs[i]->getFESpace());
+      auxFeSpaces.insert(vecs[i]->getFeSpace());
     }   
 
     for (int i = 0; i < static_cast<int>(grads.size()); i++) {
       TEST_EXIT(grads[i])("One gradient vector is NULL!\n");
 
-      auxFeSpaces.insert(grads[i]->getFESpace());
+      auxFeSpaces.insert(grads[i]->getFeSpace());
     }   
   }
 
@@ -727,13 +727,13 @@ namespace AMDiS {
     for (int i = 0; i < static_cast<int>(vecs.size()); i++) {
       TEST_EXIT(vecs[i])("One vector is NULL!\n");
 
-      auxFeSpaces.insert(vecs[i]->getFESpace());
+      auxFeSpaces.insert(vecs[i]->getFeSpace());
     }   
 
     for (int i = 0; i < static_cast<int>(grads.size()); i++) {
       TEST_EXIT(grads[i])("One gradient vector is NULL!\n");
 
-      auxFeSpaces.insert(grads[i]->getFESpace());
+      auxFeSpaces.insert(grads[i]->getFeSpace());
     }   
   }
 
diff --git a/AMDiS/src/GridWriter.hh b/AMDiS/src/GridWriter.hh
index cfd7df6aeb475c5d0c64041c88c9e189b8ba112d..22e7ac9f307358bacee019df88bd5c1833f8c725 100644
--- a/AMDiS/src/GridWriter.hh
+++ b/AMDiS/src/GridWriter.hh
@@ -19,12 +19,12 @@ namespace AMDiS {
 
     TEST_EXIT(vec)("no dof vector\n");
     TEST_EXIT(filename)("no filename\n");
-    TEST_EXIT(vec->getFESpace()->getBasisFcts())("no basis fcts\n");
+    TEST_EXIT(vec->getFeSpace()->getBasisFcts())("no basis fcts\n");
  
     std::ofstream outFile(filename);
     outFile.precision(outFilePrecision);
     outFile.setf(std::ios_base::scientific);    
-    const Mesh *mesh = vec->getFESpace()->getMesh();
+    const Mesh *mesh = vec->getFeSpace()->getMesh();
     int dim = mesh->getDim();
 
     TEST_EXIT(dim == Global::getGeo(WORLD))("not for DIM != DIM_OF_WORLD\n");
@@ -42,7 +42,7 @@ namespace AMDiS {
     WorldVector<double> curCoord;
     DimVec<double> bary(dim, NO_INIT);
     Element *elp;
-    const BasisFunction *basFcts = vec->getFESpace()->getBasisFcts();
+    const BasisFunction *basFcts = vec->getFeSpace()->getBasisFcts();
     const double *uhLoc;
 
     // get basis of grid 
@@ -131,12 +131,12 @@ namespace AMDiS {
 
     TEST_EXIT(vec.size() > 0)("no dof vector\n");
     TEST_EXIT(filename)("no filename\n");
-    TEST_EXIT(vec[0]->getFESpace()->getBasisFcts())("no basis fcts\n");
+    TEST_EXIT(vec[0]->getFeSpace()->getBasisFcts())("no basis fcts\n");
  
     std::ofstream outFile(filename);
     outFile.precision(outFilePrecision);
     outFile.setf(std::ios_base::scientific);    
-    const Mesh *mesh = vec[0]->getFESpace()->getMesh();
+    const Mesh *mesh = vec[0]->getFeSpace()->getMesh();
     int dim = mesh->getDim();
 
     TEST_EXIT(dim == Global::getGeo(WORLD))("not for DIM != DIM_OF_WORLD\n");
@@ -154,7 +154,7 @@ namespace AMDiS {
     WorldVector<double> curCoord;
     DimVec<double> bary(dim, NO_INIT);
     Element *elp;
-    const BasisFunction *basFcts = vec[0]->getFESpace()->getBasisFcts();
+    const BasisFunction *basFcts = vec[0]->getFeSpace()->getBasisFcts();
     const double *uhLoc;
 
     // get basis of grid 
diff --git a/AMDiS/src/Lagrange.cc b/AMDiS/src/Lagrange.cc
index 9d10f8cc07aa738d39d08b49d196cfef15ca49aa..58813a19322e3032778a51aee27cdbb447b1282b 100644
--- a/AMDiS/src/Lagrange.cc
+++ b/AMDiS/src/Lagrange.cc
@@ -997,11 +997,11 @@ namespace AMDiS {
     FUNCNAME("Lagrange::l2ScpFctBas()");
 
     TEST_EXIT_DBG(fh)("no DOF_REAL_VEC fh\n");
-    TEST_EXIT_DBG(fh->getFESpace())
+    TEST_EXIT_DBG(fh->getFeSpace())
       ("no fe_space in DOF_REAL_VEC %s\n", fh->getName().c_str());
-    TEST_EXIT_DBG(fh->getFESpace()->getBasisFcts() == this)
+    TEST_EXIT_DBG(fh->getFeSpace()->getBasisFcts() == this)
       ("wrong basis fcts for fh\n");
-    TEST_EXIT_DBG(!fh->getFESpace()->getMesh()->getParametric())
+    TEST_EXIT_DBG(!fh->getFeSpace()->getMesh()->getParametric())
       ("Not yet implemented!");
 
     if (!quad)
@@ -1011,11 +1011,11 @@ namespace AMDiS {
       FastQuadrature::provideFastQuadrature(this, *quad, INIT_PHI);
     double *wdetf_qp = new double[quad->getNumPoints()];
     int nPoints = quad->getNumPoints();
-    DOFAdmin *admin = fh->getFESpace()->getAdmin();
+    DOFAdmin *admin = fh->getFeSpace()->getAdmin();
     WorldVector<double> x;
 
     TraverseStack stack;
-    ElInfo *el_info = stack.traverseFirst(fh->getFESpace()->getMesh(), -1, 
+    ElInfo *el_info = stack.traverseFirst(fh->getFeSpace()->getMesh(), -1, 
 					  Mesh::CALL_LEAF_EL | Mesh::FILL_COORDS);
     while (el_info) {
       const DegreeOfFreedom  *dof = getLocalIndices(el_info->getElement(), admin, NULL);
@@ -1050,9 +1050,9 @@ namespace AMDiS {
     if (n < 1) 
       return;
 
-    int n0 = drv->getFESpace()->getAdmin()->getNumberOfPreDOFs(CENTER);
+    int n0 = drv->getFeSpace()->getAdmin()->getNumberOfPreDOFs(CENTER);
     Element *el = list->getElement(0);
-    int node = drv->getFESpace()->getMesh()->getNode(CENTER);
+    int node = drv->getFeSpace()->getMesh()->getNode(CENTER);
     // Parent center
     DegreeOfFreedom dof0 = el->getDOF(node, n0);           
     // Newest vertex is center 
@@ -1072,8 +1072,8 @@ namespace AMDiS {
     if (n < 1) 
       return;
 
-    int dim = drv->getFESpace()->getMesh()->getDim();
-    int n0 = drv->getFESpace()->getAdmin()->getNumberOfPreDOFs(VERTEX);
+    int dim = drv->getFeSpace()->getMesh()->getDim();
+    int n0 = drv->getFeSpace()->getAdmin()->getNumberOfPreDOFs(VERTEX);
     Element *el = list->getElement(0);
     // 1st endpoint of refinement edge
     DegreeOfFreedom dof0 = el->getDOF(0, n0);
@@ -1093,10 +1093,10 @@ namespace AMDiS {
       return;
     
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
     const DegreeOfFreedom *pdof = basFct->getLocalIndices(el, admin, NULL);
   
-    int node = drv->getFESpace()->getMesh()->getNode(VERTEX);        
+    int node = drv->getFeSpace()->getMesh()->getNode(VERTEX);        
     int n0 = admin->getNumberOfPreDOFs(VERTEX);
 
     /****************************************************************************/
@@ -1107,7 +1107,7 @@ namespace AMDiS {
     DegreeOfFreedom cdof = el->getChild(0)->getDOF(node + 1, n0);
     (*drv)[cdof] = (*drv)[pdof[2]];
 
-    node = drv->getFESpace()->getMesh()->getNode(CENTER);        
+    node = drv->getFeSpace()->getMesh()->getNode(CENTER);        
     n0 = admin->getNumberOfPreDOFs(CENTER);
 
     /****************************************************************************/
@@ -1136,11 +1136,11 @@ namespace AMDiS {
     if (n < 1) 
       return;
 
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
     Element *el = list->getElement(0);
     const DegreeOfFreedom *pdof = basFct->getLocalIndices(el, admin, NULL);
   
-    int node = drv->getFESpace()->getMesh()->getNode(VERTEX);        
+    int node = drv->getFeSpace()->getMesh()->getNode(VERTEX);        
     int n0 = admin->getNumberOfPreDOFs(VERTEX);
 
     /****************************************************************************/
@@ -1150,7 +1150,7 @@ namespace AMDiS {
     DegreeOfFreedom cdof = el->getChild(0)->getDOF(node+2, n0);  /*      newest vertex is DIM */
     (*drv)[cdof] = (*drv)[pdof[5]];
 
-    node = drv->getFESpace()->getMesh()->getNode(EDGE);        
+    node = drv->getFeSpace()->getMesh()->getNode(EDGE);        
     n0 = admin->getNumberOfPreDOFs(EDGE);
 
     /****************************************************************************/
@@ -1202,12 +1202,12 @@ namespace AMDiS {
       return;
 
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
 
     DegreeOfFreedom pdof[10];
     basFct->getLocalIndices(el, admin, pdof);
 
-    int node0 = drv->getFESpace()->getMesh()->getNode(EDGE);
+    int node0 = drv->getFeSpace()->getMesh()->getNode(EDGE);
     int n0 = admin->getNumberOfPreDOFs(EDGE);
 
     /****************************************************************************/
@@ -1284,7 +1284,7 @@ namespace AMDiS {
       return;
 
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
 
     DegreeOfFreedom *pdof = new DegreeOfFreedom[basFct->getNumber()];
     basFct->getLocalIndices(el, admin, pdof);
@@ -1357,7 +1357,7 @@ namespace AMDiS {
     /*  (*drv)alues on neigh's child[0]                                         */
     /****************************************************************************/
 
-    int node = drv->getFESpace()->getMesh()->getNode(CENTER);  
+    int node = drv->getFeSpace()->getMesh()->getNode(CENTER);  
     int n0 = admin->getNumberOfPreDOFs(CENTER);
     int dof9 = el->getChild(1)->getDOF(node, n0);
 
@@ -1380,7 +1380,7 @@ namespace AMDiS {
       return;
     
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
 
     DegreeOfFreedom pdof[10];
     basFct->getLocalIndices(el, admin, pdof);
@@ -1452,7 +1452,7 @@ namespace AMDiS {
     /*  values on neigh's child[0]                                              */
     /****************************************************************************/
 
-    int node = drv->getFESpace()->getMesh()->getNode(CENTER);  
+    int node = drv->getFeSpace()->getMesh()->getNode(CENTER);  
     int n0 = admin->getNumberOfPreDOFs(CENTER);
     int dof9 = el->getChild(1)->getDOF(node, n0);
 
@@ -1480,7 +1480,7 @@ namespace AMDiS {
     el = list->getElement(0);
     typ = list->getType(0);
 
-    admin = drv->getFESpace()->getAdmin();
+    admin = drv->getFeSpace()->getAdmin();
 
     basFct->getLocalIndices(el, admin, pd);
 
@@ -1567,7 +1567,7 @@ namespace AMDiS {
     /*   adjust neighbour values                                                */
     /****************************************************************************/
 
-    node0 = drv->getFESpace()->getMesh()->getNode(FACE);
+    node0 = drv->getFeSpace()->getMesh()->getNode(FACE);
     n0 = admin->getNumberOfPreDOFs(FACE);
   
     for (i = 1; i < n; i++) {
@@ -1690,7 +1690,7 @@ namespace AMDiS {
       return;
 
     DegreeOfFreedom *pdof = new DegreeOfFreedom[basFct->getNumber()];
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
     Element *el = list->getElement(0);
 
     basFct->getLocalIndices(el, admin, pdof);
@@ -1846,7 +1846,7 @@ namespace AMDiS {
       return;
 
     el = list->getElement(0);
-    admin = drv->getFESpace()->getAdmin();
+    admin = drv->getFeSpace()->getAdmin();
     basFct->getLocalIndices(el, admin, pdof);
 
     /****************************************************************************/
@@ -1998,7 +1998,7 @@ namespace AMDiS {
 
     Element *el = list->getElement(0);
     int typ = list->getType(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
 
     basFct->getLocalIndices(el, admin, pd);
 
@@ -2547,7 +2547,7 @@ namespace AMDiS {
     if (n < 1) 
       return;
 
-    int n0 = drv->getFESpace()->getAdmin()->getNumberOfPreDOFs(CENTER);
+    int n0 = drv->getFeSpace()->getAdmin()->getNumberOfPreDOFs(CENTER);
     Element* el = list->getElement(0);
     int dof0 = el->getDOF(0,n0);           /* 1st endpoint of refinement edge */
     int dof1 = el->getDOF(1,n0);           /* 2nd endpoint of refinement edge */
@@ -2566,7 +2566,7 @@ namespace AMDiS {
     if (n < 1) 
       return;
 
-    int n0 = drv->getFESpace()->getAdmin()->getNumberOfPreDOFs(VERTEX);
+    int n0 = drv->getFeSpace()->getAdmin()->getNumberOfPreDOFs(VERTEX);
     Element *el = list->getElement(0);
 
     // 1st endpoint of refinement edge
@@ -2584,25 +2584,25 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseRestr2_2d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
 
     Element *el = list->getElement(0);
-    const DOFAdmin *admin  = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin  = drv->getFeSpace()->getAdmin();
     const DegreeOfFreedom *pdof = basFct->getLocalIndices(el, admin, NULL);
 
     /****************************************************************************/
     /*  contributions of dofs located on child[0]                               */
     /****************************************************************************/
 
-    int node = drv->getFESpace()->getMesh()->getNode(VERTEX);        
+    int node = drv->getFeSpace()->getMesh()->getNode(VERTEX);        
     int n0 = admin->getNumberOfPreDOFs(VERTEX);
     DegreeOfFreedom cdof2 = el->getChild(0)->getDOF(node+2, n0);
 
-    node = drv->getFESpace()->getMesh()->getNode(EDGE);        
+    node = drv->getFeSpace()->getMesh()->getNode(EDGE);        
     n0 = admin->getNumberOfPreDOFs(EDGE);
     DegreeOfFreedom cdof3 = el->getChild(0)->getDOF(node, n0);
     DegreeOfFreedom cdof4 = el->getChild(0)->getDOF(node+1, n0);
@@ -2651,8 +2651,8 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseRestr2_3d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
@@ -2666,11 +2666,11 @@ namespace AMDiS {
 
     el = list->getElement(0);
 
-    admin = drv->getFESpace()->getAdmin();
+    admin = drv->getFeSpace()->getAdmin();
 
     basFct->getLocalIndices(el, admin, pdof);
 
-    node0 = drv->getFESpace()->getMesh()->getNode(EDGE);
+    node0 = drv->getFeSpace()->getMesh()->getNode(EDGE);
     n0 = admin->getNumberOfPreDOFs(EDGE);
 
     /****************************************************************************/
@@ -2756,8 +2756,8 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseRestr3_1d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     int node, n0;
     DegreeOfFreedom pdof[10], dof9;
@@ -2766,7 +2766,7 @@ namespace AMDiS {
       return;
 
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
     basFct->getLocalIndices(el, admin, pdof);
   
     /****************************************************************************/
@@ -2842,7 +2842,7 @@ namespace AMDiS {
     /*  values on neigh's child[1]                                              */
     /****************************************************************************/
 
-    node = drv->getFESpace()->getMesh()->getNode(CENTER);  
+    node = drv->getFeSpace()->getMesh()->getNode(CENTER);  
     n0 = admin->getNumberOfPreDOFs(CENTER);
     dof9 = el->getChild(1)->getDOF(node, n0);
 
@@ -2860,8 +2860,8 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseRestr3_2d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     const Element *el;
     int node, n0;
@@ -2872,7 +2872,7 @@ namespace AMDiS {
     if (n < 1) return;
     el = list->getElement(0);
 
-    admin = drv->getFESpace()->getAdmin();
+    admin = drv->getFeSpace()->getAdmin();
 
     basFct->getLocalIndices(el, admin, pdof);
   
@@ -2944,7 +2944,7 @@ namespace AMDiS {
     /*  values on neigh's child[1]                                              */
     /****************************************************************************/
 
-    node = drv->getFESpace()->getMesh()->getNode(CENTER);  
+    node = drv->getFeSpace()->getMesh()->getNode(CENTER);  
     n0 = admin->getNumberOfPreDOFs(CENTER);
     dof9 = el->getChild(1)->getDOF(node, n0);
 
@@ -2962,8 +2962,8 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseRestr3_3d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
@@ -2971,7 +2971,7 @@ namespace AMDiS {
     DegreeOfFreedom pd[20], cdi;
     const Element *el = list->getElement(0);
     int typ = list->getType(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
     basFct->getLocalIndices(el, admin, pd);
 
     /****************************************************************************/
@@ -3066,7 +3066,7 @@ namespace AMDiS {
     /*   adjust neighbour values                                                */
     /****************************************************************************/
 
-    int node0 = drv->getFESpace()->getMesh()->getNode(FACE);
+    int node0 = drv->getFeSpace()->getMesh()->getNode(FACE);
     int n0 = admin->getNumberOfPreDOFs(FACE);
 
     for (int i = 1; i < n; i++) {
@@ -3216,15 +3216,15 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseRestr4_1d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
 
     DegreeOfFreedom pdof[15];
     const Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
 
     basFct->getLocalIndices(el, admin, pdof);
 
@@ -3378,8 +3378,8 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseRestr4_2d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     const Element *el;
     DegreeOfFreedom pdof[15];
@@ -3389,7 +3389,7 @@ namespace AMDiS {
     if (n < 1) return;
     el = list->getElement(0);
 
-    admin = drv->getFESpace()->getAdmin();
+    admin = drv->getFeSpace()->getAdmin();
 
     basFct->getLocalIndices(el, admin, pdof);
 
@@ -3543,8 +3543,8 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseRestr4_3d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
@@ -3552,7 +3552,7 @@ namespace AMDiS {
     DegreeOfFreedom pd[35];
     const Element *el = list->getElement(0);
     int typ = list->getType(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
 
     basFct->getLocalIndices(el, admin, pd);
 
@@ -4222,15 +4222,15 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseInter0()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
 
     Element* el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
-    const Mesh *mesh = drv->getFESpace()->getMesh();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
+    const Mesh *mesh = drv->getFeSpace()->getMesh();
 
     // values on child[0] 
     DegreeOfFreedom cdof = el->getChild(0)->getDOF(mesh->getNode(CENTER)+2, 
@@ -4244,15 +4244,15 @@ namespace AMDiS {
   {
     FUNCNAME("real_coarseInter2()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
     
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
-    Mesh *mesh = const_cast<Mesh*>(drv->getFESpace()->getMesh());
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
+    Mesh *mesh = const_cast<Mesh*>(drv->getFeSpace()->getMesh());
 
     // values on child[0] 
     DegreeOfFreedom cdof = el->getChild(0)->getDOF(mesh->getNode(VERTEX)+1, 
@@ -4266,15 +4266,15 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseInter2_2d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
     
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
-    const Mesh *mesh = drv->getFESpace()->getMesh();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
+    const Mesh *mesh = drv->getFeSpace()->getMesh();
 
     // values on child[0]
     DegreeOfFreedom cdof = el->getChild(0)->getDOF(mesh->getNode(VERTEX)+2, 
@@ -4288,15 +4288,15 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseInter2_3d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
 
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
-    const Mesh *mesh = drv->getFESpace()->getMesh();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
+    const Mesh *mesh = drv->getFeSpace()->getMesh();
 
     int cdof = el->getChild(0)->getDOF(mesh->getNode(VERTEX)+3, 
 				       admin->getNumberOfPreDOFs(VERTEX)); 
@@ -4309,16 +4309,16 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseInter3_1d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
 
     const Element *el = list->getElement(0);
     const Element *child = el->getChild(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
-    const Mesh *mesh = drv->getFESpace()->getMesh();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
+    const Mesh *mesh = drv->getFeSpace()->getMesh();
     int node = mesh->getNode(EDGE);        
     int n0 = admin->getNumberOfPreDOFs(EDGE);
 
@@ -4384,16 +4384,16 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseInter3_2d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
 
     const Element *el = list->getElement(0);
     const Element *child = el->getChild(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
-    const Mesh *mesh = drv->getFESpace()->getMesh();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
+    const Mesh *mesh = drv->getFeSpace()->getMesh();
     int node = mesh->getNode(EDGE);        
     int n0 = admin->getNumberOfPreDOFs(EDGE);
 
@@ -4462,15 +4462,15 @@ namespace AMDiS {
     if (n < 1) 
       return;
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     const Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
 
-    int node_e = drv->getFESpace()->getMesh()->getNode(EDGE);        
+    int node_e = drv->getFeSpace()->getMesh()->getNode(EDGE);        
     int n0_e = admin->getNumberOfPreDOFs(EDGE);
-    int node_f = drv->getFESpace()->getMesh()->getNode(FACE);        
+    int node_f = drv->getFeSpace()->getMesh()->getNode(FACE);        
     int n0_f = admin->getNumberOfPreDOFs(FACE);
 
     // values on child[0]
@@ -4538,14 +4538,14 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseInter4_1d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
 
     Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
     DegreeOfFreedom pdof[15];
     basFct->getLocalIndices(el, admin, pdof);
 
@@ -4593,14 +4593,14 @@ namespace AMDiS {
   {
     FUNCNAME("Lagrange::coarseInter4_2d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
 
     const Element *el = list->getElement(0);
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
     DegreeOfFreedom pdof[15];
     basFct->getLocalIndices(el, admin, pdof);
 
@@ -4648,8 +4648,8 @@ namespace AMDiS {
   {
     FUNCNAME("void Lagrange::coarseInter4_3d()");
 
-    TEST_EXIT(drv->getFESpace())("No fe_space in dof_real_vec!\n");
-    TEST_EXIT(drv->getFESpace()->getBasisFcts())("No basis functions in fe_space!\n");
+    TEST_EXIT(drv->getFeSpace())("No fe_space in dof_real_vec!\n");
+    TEST_EXIT(drv->getFeSpace()->getBasisFcts())("No basis functions in fe_space!\n");
 
     if (n < 1) 
       return;
@@ -4657,7 +4657,7 @@ namespace AMDiS {
     const Element* el = list->getElement(0);
     int typ = list->getType(0);
 
-    const DOFAdmin *admin = drv->getFESpace()->getAdmin();
+    const DOFAdmin *admin = drv->getFeSpace()->getAdmin();
     DegreeOfFreedom pd[35];
     basFct->getLocalIndices(el, admin, pd);
 
diff --git a/AMDiS/src/NonLinUpdater.cc b/AMDiS/src/NonLinUpdater.cc
index 42af007ccd73ff7466d843d5a44d0631b47957b6..24ac6e9f0503ecf46d89912fb4c2e009058fa2be 100644
--- a/AMDiS/src/NonLinUpdater.cc
+++ b/AMDiS/src/NonLinUpdater.cc
@@ -24,7 +24,7 @@ namespace AMDiS {
     TEST_EXIT(F || df)("neither F nor df are set\n");
 
     const FiniteElemSpace *feSpace = 
-      F ? F->getFESpace() : df->getFESpace();
+      F ? F->getFeSpace() : df->getFeSpace();
 
     if (updateDF)
       df->clear();
@@ -78,9 +78,7 @@ namespace AMDiS {
     int size = df->getNumRows();
 
     const FiniteElemSpace *feSpace = 
-      F ? 
-      F->getDOFVector(0)->getFESpace() : 
-      (*df)[0][0]->getFESpace();
+      F ? F->getDOFVector(0)->getFeSpace() : (*df)[0][0]->getFeSpace();
 
     if (updateDF) {
       TEST_EXIT(df)("df not set but update tried!\n");
@@ -93,11 +91,9 @@ namespace AMDiS {
 
     BasisFunction *basFcts = const_cast<BasisFunction*>(feSpace->getBasisFcts());
 
-    if (F) {
-      for (int i = 0; i < size; i++) {
+    if (F)
+      for (int i = 0; i < size; i++)
 	F->getDOFVector(i)->set(0.0);
-      }
-    }
 
     fill_flag = 
       Mesh::CALL_LEAF_EL|
diff --git a/AMDiS/src/Operator.cc b/AMDiS/src/Operator.cc
index f5d4f6ccb031b89733b4698dc2e4e22c45b727b9..0610b3e2bb4b7458253138233aa365b0ed33710e 100644
--- a/AMDiS/src/Operator.cc
+++ b/AMDiS/src/Operator.cc
@@ -32,8 +32,8 @@ namespace AMDiS {
       break;
     }
 
-    const BasisFunction *psi = rowFESpace->getBasisFcts();
-    const BasisFunction *phi = colFESpace->getBasisFcts();
+    const BasisFunction *psi = rowFeSpace->getBasisFcts();
+    const BasisFunction *phi = colFeSpace->getBasisFcts();
 
     int psiDegree = psi->getDegree();
     int phiDegree = phi->getDegree();
@@ -51,8 +51,8 @@ namespace AMDiS {
   Operator::Operator(Flag operatorType,
 		     const FiniteElemSpace *row,
 		     const FiniteElemSpace *col)
-    : rowFESpace(row), 
-      colFESpace(col ? col : row),
+    : rowFeSpace(row), 
+      colFeSpace(col ? col : row),
       type(operatorType), 
       fillFlag(Mesh::CALL_LEAF_EL | Mesh::FILL_COORDS | 
 	       Mesh::FILL_DET | Mesh::FILL_GRD_LAMBDA),
@@ -76,15 +76,15 @@ namespace AMDiS {
       zeroOrder[i].resize(0);
     }
 
-    nRow = rowFESpace->getBasisFcts()->getNumber();
-    nCol = colFESpace->getBasisFcts()->getNumber();
+    nRow = rowFeSpace->getBasisFcts()->getNumber();
+    nCol = colFeSpace->getBasisFcts()->getNumber();
   }
 
 
   void Operator::setUhOld(const DOFVectorBase<double> *vec)
   {
     uhOld = vec;
-    auxFeSpaces.insert(vec->getFESpace());
+    auxFeSpaces.insert(vec->getFeSpace());
   }
 
 
@@ -157,11 +157,11 @@ namespace AMDiS {
 	if (optimized)
 	  assembler[rank] = 
 	    new OptimizedAssembler(this, quad2, quad1GrdPsi, quad1GrdPhi, quad0,
-				   rowFESpace, colFESpace);
+				   rowFeSpace, colFeSpace);
 	else
 	  assembler[rank] = 
 	    new StandardAssembler(this, quad2, quad1GrdPsi, quad1GrdPhi, quad0,
-				  rowFESpace, colFESpace);	
+				  rowFeSpace, colFeSpace);	
       }
   }
 
diff --git a/AMDiS/src/Operator.h b/AMDiS/src/Operator.h
index d0bba2771635ac5e98f78705ced1c66e84e7a6fb..759580d430ae2667484213746bd53b96ea0b2009 100644
--- a/AMDiS/src/Operator.h
+++ b/AMDiS/src/Operator.h
@@ -66,8 +66,8 @@ namespace AMDiS {
      * or on both sides of the system. 
      */
     Operator(Flag operatorType,
-	     const FiniteElemSpace *rowFESpace,
-	     const FiniteElemSpace *colFESpace = NULL);
+	     const FiniteElemSpace *rowFeSpace,
+	     const FiniteElemSpace *colFeSpace = NULL);
 
     /// Destructor.
     virtual ~Operator() {}
@@ -130,16 +130,16 @@ namespace AMDiS {
     /// That function must be called after one assembling cycle has been finished.
     void finishAssembling();
 
-    /// Returns \ref rowFESpace.
-    inline const FiniteElemSpace *getRowFESpace() 
+    /// Returns \ref rowFeSpace.
+    inline const FiniteElemSpace *getRowFeSpace() 
     { 
-      return rowFESpace; 
+      return rowFeSpace; 
     }
 
-    /// Returns \ref colFESpace.
-    inline const FiniteElemSpace *getColFESpace() 
+    /// Returns \ref colFeSpace.
+    inline const FiniteElemSpace *getColFeSpace() 
     { 
-      return colFESpace; 
+      return colFeSpace; 
     }
 
     /// Returns \ref auxFeSpaces.
@@ -367,10 +367,10 @@ namespace AMDiS {
 
   protected:
     /// FiniteElemSpace for matrix rows and element vector
-    const FiniteElemSpace *rowFESpace;
+    const FiniteElemSpace *rowFeSpace;
 
-    /// FiniteElemSpace for matrix columns. Can be equal to \rowFESpace.
-    const FiniteElemSpace *colFESpace;
+    /// FiniteElemSpace for matrix columns. Can be equal to \rowFeSpace.
+    const FiniteElemSpace *colFeSpace;
 
     /// List of aux fe spaces, e.g., if a term is multiplied with a DOF vector
     std::set<const FiniteElemSpace*> auxFeSpaces;
diff --git a/AMDiS/src/OperatorTerm.cc b/AMDiS/src/OperatorTerm.cc
index 31192e22797bf766d061d6a0398b403df986b6c5..b25398322e3f541c050a0e26e2f91b782e319930 100644
--- a/AMDiS/src/OperatorTerm.cc
+++ b/AMDiS/src/OperatorTerm.cc
@@ -30,7 +30,7 @@ namespace AMDiS {
   {
     FUNCNAME("OperatorTerm::getVectorAtQPs()");
 
-    TEST_EXIT_DBG(elInfo->getMesh() == vec->getFESpace()->getMesh())
+    TEST_EXIT_DBG(elInfo->getMesh() == vec->getFeSpace()->getMesh())
       ("There is something wrong!\n");
       
     return subAssembler->getVectorAtQPs(vec, elInfo, quad);
@@ -45,8 +45,8 @@ namespace AMDiS {
   {
     FUNCNAME("OperatorTerm::getVectorAtQPs()");
 
-    TEST_EXIT(smallElInfo->getMesh() == vec->getFESpace()->getMesh() ||
-	      largeElInfo->getMesh() == vec->getFESpace()->getMesh())
+    TEST_EXIT(smallElInfo->getMesh() == vec->getFeSpace()->getMesh() ||
+	      largeElInfo->getMesh() == vec->getFeSpace()->getMesh())
       ("There is something wrong!\n");
 
     if (smallElInfo->getLevel() == largeElInfo->getLevel()) {
@@ -54,7 +54,7 @@ namespace AMDiS {
       // Both elements have the same size, so we can use the simple procedure
       // to determine the vecAtQPs.
       
-      if (vec->getFESpace()->getMesh() == smallElInfo->getMesh())
+      if (vec->getFeSpace()->getMesh() == smallElInfo->getMesh())
 	return subAssembler->getVectorAtQPs(vec, smallElInfo, quad);
       else
 	return subAssembler->getVectorAtQPs(vec, largeElInfo, quad);      
@@ -64,7 +64,7 @@ namespace AMDiS {
       // The two elements are different. If the vector is defined on the mesh of the
       // small element, we can still use the simple procedure to determine the vecAtQPs.
 
-      if (vec->getFESpace()->getMesh() == largeElInfo->getMesh())
+      if (vec->getFeSpace()->getMesh() == largeElInfo->getMesh())
 	return subAssembler->getVectorAtQPs(vec, smallElInfo, largeElInfo, quad);
       else
 	return subAssembler->getVectorAtQPs(vec, smallElInfo, quad);
@@ -79,7 +79,7 @@ namespace AMDiS {
   {
     FUNCNAME("OperatorTerm::getGradientsAtQPs()");
 
-    TEST_EXIT_DBG(elInfo->getMesh() == vec->getFESpace()->getMesh())
+    TEST_EXIT_DBG(elInfo->getMesh() == vec->getFeSpace()->getMesh())
       ("There is something wrong!\n");
 
     return subAssembler->getGradientsAtQPs(vec, elInfo, quad);
@@ -96,8 +96,8 @@ namespace AMDiS {
 
     ERROR_EXIT("Not yet tested!\n");
 
-    TEST_EXIT(smallElInfo->getMesh() == vec->getFESpace()->getMesh() ||
-	      largeElInfo->getMesh() == vec->getFESpace()->getMesh())
+    TEST_EXIT(smallElInfo->getMesh() == vec->getFeSpace()->getMesh() ||
+	      largeElInfo->getMesh() == vec->getFeSpace()->getMesh())
       ("There is something wrong!\n");
 
     if (smallElInfo->getLevel() == largeElInfo->getLevel()) {
@@ -105,7 +105,7 @@ namespace AMDiS {
       // Both elements have the same size, so we can use the simple procedure
       // to determine the gradients.
       
-      if (vec->getFESpace()->getMesh() == smallElInfo->getMesh())
+      if (vec->getFeSpace()->getMesh() == smallElInfo->getMesh())
 	return subAssembler->getGradientsAtQPs(vec, smallElInfo, quad);
       else
 	return subAssembler->getGradientsAtQPs(vec, largeElInfo, quad);      
@@ -115,7 +115,7 @@ namespace AMDiS {
       // The two elements are different. If the vector is defined on the mesh of the
       // small element, we can still use the simple procedure to determine the gradients.
 
-      if (vec->getFESpace()->getMesh() == largeElInfo->getMesh())
+      if (vec->getFeSpace()->getMesh() == largeElInfo->getMesh())
 	return subAssembler->getGradientsAtQPs(vec, smallElInfo, largeElInfo, quad);
       else
 	return subAssembler->getGradientsAtQPs(vec, smallElInfo, quad);
diff --git a/AMDiS/src/ParallelError.hh b/AMDiS/src/ParallelError.hh
index e72b53efbe9bb64d87559fc43c528bf7b62c0036..8b258eea90be4c20e5b3417c1a1509690b41b279 100644
--- a/AMDiS/src/ParallelError.hh
+++ b/AMDiS/src/ParallelError.hh
@@ -79,7 +79,7 @@ namespace AMDiS {
 	ERROR("no function u specified; doing nothing\n");
 	return(-1.0);
       }
-    if (!(errUh = &uh)  ||  !(fe_space = uh->getFESpace()))
+    if (!(errUh = &uh)  ||  !(fe_space = uh->getFeSpace()))
       {
 	ERROR("no discrete function or no fe_space for it; doing nothing\n");
 	return(-1.0);
@@ -214,7 +214,7 @@ namespace AMDiS {
 
     errUh = &uh;
 
-    if(!(fe_space = uh.getFESpace()))
+    if(!(fe_space = uh.getFeSpace()))
       {
 	ERROR("no fe_space for uh; doing nothing\n");
 	return(0.0);
@@ -371,31 +371,27 @@ namespace AMDiS {
 				 bool writeLeafData,
 				 int comp)
   {
-    FUNCNAME("ParallelError<T>::L2Err");
-    const FiniteElemSpace *fe_space;
+    FUNCNAME("ParallelError<T>::L2Err()");
 
+    const FiniteElemSpace *fe_space;
     Quadrature *q = NULL;
-
-    writeInLeafData = writeLeafData;
-  
+    writeInLeafData = writeLeafData; 
     component = comp;
 
-    if (!(pU = &u))
-      {
-	ERROR("no function u specified; doing nothing\n");
-	return(0.0);
-      }
-    if (!(errUh = &uh)  ||  !(fe_space = uh.getFESpace()))
-      {
-	ERROR("no discrete function or no fe_space for it; doing nothing\n");
-	return(0.0);
-      }
+    if (!(pU = &u)) {
+      ERROR("no function u specified; doing nothing\n");
+      return(0.0);
+    }
 
-    if (!(basFct = fe_space->getBasisFcts()))
-      {
-	ERROR("no basis functions at discrete solution ; doing nothing\n");
-	return(0.0);
-      }
+    if (!(errUh = &uh)  ||  !(fe_space = uh.getFeSpace())) {
+      ERROR("no discrete function or no fe_space for it; doing nothing\n");
+      return(0.0);
+    }
+
+    if (!(basFct = fe_space->getBasisFcts())) {
+      ERROR("no basis functions at discrete solution ; doing nothing\n");
+      return(0.0);
+    }
 
     int dim = fe_space->getMesh()->getDim();
     int deg = u.getDegree();
diff --git a/AMDiS/src/ParallelProblem.cc b/AMDiS/src/ParallelProblem.cc
index 9fc1678c033256d714e3c5be2b7d1292d2bb0c8d..e59b3a7e8f85dce67852e45f43d37b03c0b2fdc4 100644
--- a/AMDiS/src/ParallelProblem.cc
+++ b/AMDiS/src/ParallelProblem.cc
@@ -589,7 +589,7 @@ namespace AMDiS {
     ParallelProblem::fillVertexPartitions(localCoarseGridLevel_, 1, true, overlapDistance_);
     overlapDistance_.clear();
 
-    const FiniteElemSpace *feSpace = rankSolutions[0]->getFESpace();
+    const FiniteElemSpace *feSpace = rankSolutions[0]->getFeSpace();
     int dim = workMesh->getDim();
     const BasisFunction *basFcts = feSpace->getBasisFcts();
     int numFcts = basFcts->getNumber();
@@ -759,7 +759,7 @@ namespace AMDiS {
     sendOrder.resize(mpiSize);
     recvOrder.resize(mpiSize);
 
-    const FiniteElemSpace *feSpace = values->getFESpace();
+    const FiniteElemSpace *feSpace = values->getFeSpace();
     const BasisFunction *basFcts = feSpace->getBasisFcts();
     int numFcts = basFcts->getNumber();
     DegreeOfFreedom *dofs = new DegreeOfFreedom[numFcts];
@@ -883,7 +883,7 @@ namespace AMDiS {
   {
     FUNCNAME("ParallelProblem::buildGlobalSolution()");
 
-    const FiniteElemSpace *feSpace = globalSolution->getFESpace();
+    const FiniteElemSpace *feSpace = globalSolution->getFeSpace();
     int dim = mesh->getDim();
     const BasisFunction *basFcts = feSpace->getBasisFcts();
     int numFcts = basFcts->getNumber();
@@ -1325,7 +1325,7 @@ namespace AMDiS {
       usersMarker(NULL)
   {
     for (int i = 0; i < mpiSize; i++) {
-      rankSolution[i] = new DOFVector<double>(problem->getFESpace(), "rank solution");
+      rankSolution[i] = new DOFVector<double>(problem->getFeSpace(), "rank solution");
     }
    
     if (problemInstat_) {
@@ -1516,7 +1516,7 @@ namespace AMDiS {
 
     std::vector<FiniteElemSpace*> feSpaces(nComponents);
     for (int i = 0; i < nComponents; i++) {
-      feSpaces[i] = problem->getFESpace(i);
+      feSpaces[i] = problem->getFeSpace(i);
     }
 
     rankSolution.resize(mpiSize);
@@ -1686,7 +1686,7 @@ namespace AMDiS {
 
     // In debug mode, every rank sends its solution to the debug server.
     if (debugMode) {
-      const FiniteElemSpace *feSpace = problem->getFESpace(0);
+      const FiniteElemSpace *feSpace = problem->getFeSpace(0);
       const BasisFunction *basFcts = feSpace->getBasisFcts();
       DOFAdmin *admin = feSpace->getAdmin();
       int numFcts = basFcts->getNumber();
@@ -1767,7 +1767,7 @@ namespace AMDiS {
    
     TEST_EXIT(debugMode)("Debug server applicable only in debug mode!\n");
 
-    const FiniteElemSpace *feSpace = problem->getFESpace(0);
+    const FiniteElemSpace *feSpace = problem->getFeSpace(0);
     DOFAdmin *admin =  feSpace->getAdmin();
     const BasisFunction *basFcts = feSpace->getBasisFcts();
     int numFcts = basFcts->getNumber();
diff --git a/AMDiS/src/PardisoSolver.cc b/AMDiS/src/PardisoSolver.cc
index bf395892465375f5992196acba6b0d0644c576cb..5de2b2566052ee0036355b46aea9a124608f892f 100644
--- a/AMDiS/src/PardisoSolver.cc
+++ b/AMDiS/src/PardisoSolver.cc
@@ -26,7 +26,7 @@ namespace AMDiS {
     // Number of systems.
     int nComponents = m->getSize();
     // Size of the new composed matrix.
-    int newMatrixSize = ((*m)[0][0])->getFESpace()->getAdmin()->getUsedSize() * nComponents;
+    int newMatrixSize = ((*m)[0][0])->getFeSpace()->getAdmin()->getUsedSize() * nComponents;
 
     // The new matrix has to be stored in compressed row format, therefore
     // the rows are collected.
diff --git a/AMDiS/src/PeriodicBC.cc b/AMDiS/src/PeriodicBC.cc
index 3e989034a915baa6ce44e8eb9fcf5178cc5e6257..239e5d7f90f4af9db01aae7fcf17dc7b7ca41f0e 100644
--- a/AMDiS/src/PeriodicBC.cc
+++ b/AMDiS/src/PeriodicBC.cc
@@ -86,9 +86,9 @@ namespace AMDiS {
     : BoundaryCondition(type, rowSpace, NULL),
       masterMatrix(NULL)
   {
-    if (rowFESpace->getMesh()->getDim() > 1)
+    if (rowFeSpace->getMesh()->getDim() > 1)
       periodicDOFMapping = 
-	PeriodicDOFMapping::providePeriodicDOFMapping(rowFESpace->getBasisFcts());
+	PeriodicDOFMapping::providePeriodicDOFMapping(rowFeSpace->getBasisFcts());
     else
       periodicDOFMapping = NULL;    
   }
@@ -102,7 +102,7 @@ namespace AMDiS {
 
     if (!masterMatrix) {
       masterMatrix = matrix;
-      Mesh *mesh = matrix->getRowFESpace()->getMesh();
+      Mesh *mesh = matrix->getRowFeSpace()->getMesh();
       associated = mesh->getPeriodicAssociations()[boundaryType];
       
       TEST_EXIT(associated)("No associations for periodic boundary condition %d!\n",
@@ -120,13 +120,13 @@ namespace AMDiS {
 
     if (matrix == masterMatrix) {
   
-      int dim = rowFESpace->getMesh()->getDim();
+      int dim = rowFeSpace->getMesh()->getDim();
       if (dim > 1) {
-	DOFAdmin *admin = rowFESpace->getAdmin();
+	DOFAdmin *admin = rowFeSpace->getAdmin();
 	FixVec<int, WORLD> elFace(dim, NO_INIT);
 	FixVec<int, WORLD> neighFace(dim, NO_INIT);
 	DimVec<int> vertexPermutation(dim, NO_INIT);
-	const BasisFunction *basFcts = rowFESpace->getBasisFcts();
+	const BasisFunction *basFcts = rowFeSpace->getBasisFcts();
 	int num = basFcts->getNumber();
 	Element *element = elInfo->getElement();
 	DimVec<DegreeOfFreedom> periodicDOFs(dim - 1, NO_INIT);
@@ -192,7 +192,7 @@ namespace AMDiS {
 
     using namespace mtl;
 
-    DOFAdmin* admin = rowFESpace->getAdmin();
+    DOFAdmin* admin = rowFeSpace->getAdmin();
     std::vector<int> dofMap(admin->getUsedSize());
     for (int i = 0; i < admin->getUsedSize(); i++)
       dofMap[i] = (*associated)[i];
@@ -210,7 +210,7 @@ namespace AMDiS {
     FUNCNAME("PeriodicBC::exitVector()");
 
     DOFIterator<double> vecIt(vector, USED_DOFS);
-    Mesh *mesh = vector->getFESpace()->getMesh();
+    Mesh *mesh = vector->getFeSpace()->getMesh();
     VertexVector *associated = mesh->getPeriodicAssociations()[boundaryType];
 
     for (vecIt.reset(); !vecIt.end(); ++vecIt) {
diff --git a/AMDiS/src/PeriodicBC.h b/AMDiS/src/PeriodicBC.h
index 31a001164100c4c8866d98f9e618cd8ae60bd29e..9a8795f37954fef4ceaa6bfdcbce2f3b6b4e6012 100644
--- a/AMDiS/src/PeriodicBC.h
+++ b/AMDiS/src/PeriodicBC.h
@@ -80,7 +80,7 @@ namespace AMDiS {
   {
   public:
     /// Constructor.
-    PeriodicBC(BoundaryType type, FiniteElemSpace *rowFESpace);
+    PeriodicBC(BoundaryType type, FiniteElemSpace *rowFeSpace);
 
     ~PeriodicBC();
 
diff --git a/AMDiS/src/ProblemInstat.cc b/AMDiS/src/ProblemInstat.cc
index 7deb73f57a30156b23c60669b6cde32ef6856556..1ed2ffe01b803611200284c7a41c39e545c9180b 100644
--- a/AMDiS/src/ProblemInstat.cc
+++ b/AMDiS/src/ProblemInstat.cc
@@ -100,7 +100,7 @@ namespace AMDiS {
       WARNING("oldSolution already created\n");
     } else {
       // create oldSolution
-      oldSolution = new DOFVector<double>(problemStat->getFESpace(), name + "->uOld");
+      oldSolution = new DOFVector<double>(problemStat->getFeSpace(), name + "->uOld");
       oldSolution->setCoarsenOperation(COARSE_INTERPOL);
       if (problemStat->getEstimator())
 	dynamic_cast<Estimator*>(problemStat->getEstimator())
@@ -180,9 +180,9 @@ namespace AMDiS {
     } else {
       int size = problemStat->getNumComponents();
       // create oldSolution
-      oldSolution = new SystemVector("old solution", problemStat->getFESpaces(), size);
+      oldSolution = new SystemVector("old solution", problemStat->getFeSpaces(), size);
       for (int i = 0; i < size; i++) {
-	oldSolution->setDOFVector(i, new DOFVector<double>(problemStat->getFESpace(i), 
+	oldSolution->setDOFVector(i, new DOFVector<double>(problemStat->getFeSpace(i), 
 							   name + "->uOld"));
 	oldSolution->getDOFVector(i)->setCoarsenOperation(COARSE_INTERPOL);
       
diff --git a/AMDiS/src/ProblemScal.cc b/AMDiS/src/ProblemScal.cc
index f9714bd7d7edccf1d59050c3c366b9fd54cdcd92..4a0a2edd87c05b2f1cbdaaee873544b6f0d7fd28 100644
--- a/AMDiS/src/ProblemScal.cc
+++ b/AMDiS/src/ProblemScal.cc
@@ -293,13 +293,13 @@ namespace AMDiS {
     } else {
       if (initFlag.isSet(INIT_FE_SPACE) || 
 	  (initFlag.isSet(INIT_SYSTEM) && !adoptFlag.isSet(INIT_FE_SPACE))) {
-	createFESpace();
+	createFeSpace();
       } 
 
       if (adoptProblem && 
 	  (adoptFlag.isSet(INIT_FE_SPACE) || adoptFlag.isSet(INIT_SYSTEM))) {
 	TEST_EXIT(!feSpace)("feSpace already created");
-	feSpace = dynamic_cast<ProblemScal*>(adoptProblem)->getFESpace();
+	feSpace = dynamic_cast<ProblemScal*>(adoptProblem)->getFeSpace();
       }
     }
 
@@ -315,7 +315,7 @@ namespace AMDiS {
       TEST_EXIT(!rhs)("rhs already created\n");
       TEST_EXIT(!systemMatrix)("systemMatrix already created\n");
       solution = adoptProblem->getSolution();
-      rhs = adoptProblem->getRHS();
+      rhs = adoptProblem->getRhs();
       systemMatrix  = adoptProblem->getSystemMatrix();
     }
 
@@ -429,12 +429,12 @@ namespace AMDiS {
 	
   }
 
-  void ProblemScal::createFESpace()
+  void ProblemScal::createFeSpace()
   {
     // create finite element space
     int degree = 1;
     GET_PARAMETER(0, name + "->polynomial degree" ,"%d", &degree);
-    feSpace = FiniteElemSpace::provideFESpace(NULL,
+    feSpace = FiniteElemSpace::provideFeSpace(NULL,
 					       Lagrange::getLagrange(mesh->getDim(), degree),
 					       mesh,
 					       name + "->feSpace");  
@@ -634,7 +634,7 @@ namespace AMDiS {
       elInfo = stack.traverseNext(elInfo);
     }
     
-    ElementFileWriter fw(name, this->getFESpace(), vec);
+    ElementFileWriter fw(name, this->getFeSpace(), vec);
     fw.writeFiles(adaptInfo, true);    
   }
 
diff --git a/AMDiS/src/ProblemScal.h b/AMDiS/src/ProblemScal.h
index e1eab402210c00047ce13a708b3f6d23af427221..545c50f28647a77c2db0177ccb441481ea4f2365 100644
--- a/AMDiS/src/ProblemScal.h
+++ b/AMDiS/src/ProblemScal.h
@@ -66,7 +66,7 @@ namespace AMDiS {
     virtual void createMesh();
 
     /// Used in \ref initialize().
-    virtual void createFESpace();
+    virtual void createFeSpace();
 
     /// Used in \ref initialize().
     virtual void createMatricesAndVectors();
@@ -218,7 +218,7 @@ namespace AMDiS {
     }
 
     /// Returns \ref rhs.
-    inline DOFVector<double>* getRHS() 
+    inline DOFVector<double>* getRhs() 
     { 
       return rhs; 
     }
@@ -236,7 +236,7 @@ namespace AMDiS {
     }
 
     /// Returns \ref feSpace.
-    inline FiniteElemSpace* getFESpace() 
+    inline FiniteElemSpace* getFeSpace() 
     { 
       return feSpace; 
     }
@@ -293,7 +293,7 @@ namespace AMDiS {
     void setMeshFromProblemVec(ProblemVec* pv, int i = 0); 
 
     /// Sets \ref feSpace.
-    inline void setFESpace(FiniteElemSpace* fe) 
+    inline void setFeSpace(FiniteElemSpace* fe) 
     { 
       feSpace = fe; 
     }
diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc
index dd8f35981a2b9466f40aeca5fdc3e64a47e2f48f..52d210534852ba737396e7ad2b753bc3b226be32 100644
--- a/AMDiS/src/ProblemVec.cc
+++ b/AMDiS/src/ProblemVec.cc
@@ -78,11 +78,11 @@ namespace AMDiS {
     } else {
       if (initFlag.isSet(INIT_FE_SPACE) || 
 	  (initFlag.isSet(INIT_SYSTEM) && !adoptFlag.isSet(INIT_FE_SPACE)))
-	createFESpace(NULL);
+	createFeSpace(NULL);
 
       if (adoptProblem &&
 	  (adoptFlag.isSet(INIT_FE_SPACE) || adoptFlag.isSet(INIT_SYSTEM))) {
-	feSpaces = adoptProblem->getFESpaces();
+	feSpaces = adoptProblem->getFeSpaces();
 	componentSpaces = adoptProblem->componentSpaces;
 	traverseInfo = adoptProblem->traverseInfo;
 
@@ -108,7 +108,7 @@ namespace AMDiS {
     
     if (adoptProblem && adoptFlag.isSet(INIT_SYSTEM)) {
       solution = adoptProblem->getSolution();
-      rhs = adoptProblem->getRHS();
+      rhs = adoptProblem->getRhs();
       systemMatrix = adoptProblem->getSystemMatrix();
     }
 
@@ -133,13 +133,13 @@ namespace AMDiS {
       createEstimator();
 
     if (adoptProblem && adoptFlag.isSet(INIT_ESTIMATOR))
-      estimator = adoptProblem->getEstimator();
+      estimator = adoptProblem->getEstimators();
 
     // === create marker ===
     if (initFlag.isSet(INIT_MARKER))
       createMarker();
     if (adoptProblem && adoptFlag.isSet(INIT_MARKER))
-      marker = adoptProblem->getMarker();
+      marker = adoptProblem->getMarkers();
 
     // === create file writer ===
     if (initFlag.isSet(INIT_FILEWRITER))
@@ -273,9 +273,9 @@ namespace AMDiS {
     }
   }
 
-  void ProblemVec::createFESpace(DOFAdmin *admin)
+  void ProblemVec::createFeSpace(DOFAdmin *admin)
   {
-    FUNCNAME("ProblemVec::createFESpace()");
+    FUNCNAME("ProblemVec::createFeSpace()");
 
     std::map<std::pair<Mesh*, int>, FiniteElemSpace*> feSpaceMap;
     int dim = -1;
@@ -296,11 +296,11 @@ namespace AMDiS {
 	stringstream s;
 	s << name << "->feSpace[" << i << "]";
 
-	FiniteElemSpace *newFESpace = 
-	  FiniteElemSpace::provideFESpace(admin, Lagrange::getLagrange(dim, degree),
+	FiniteElemSpace *newFeSpace = 
+	  FiniteElemSpace::provideFeSpace(admin, Lagrange::getLagrange(dim, degree),
 					  componentMeshes[i], s.str());
-	feSpaceMap[std::pair<Mesh*, int>(componentMeshes[i], degree)] = newFESpace;
-	feSpaces.push_back(newFESpace);
+	feSpaceMap[std::pair<Mesh*, int>(componentMeshes[i], degree)] = newFeSpace;
+	feSpaces.push_back(newFeSpace);
       }
       componentSpaces[i] = feSpaceMap[std::pair<Mesh*, int>(componentMeshes[i], degree)];
     }
@@ -1299,7 +1299,7 @@ namespace AMDiS {
 
 #ifdef _OPENMP
       if (matrix) {
-	tmpMatrix = new DOFMatrix(matrix->getRowFESpace(), matrix->getColFESpace(), "tmp");
+	tmpMatrix = new DOFMatrix(matrix->getRowFeSpace(), matrix->getColFeSpace(), "tmp");
 
 	// Copy the global matrix to the private matrix, because we need the
 	// operators defined on the global matrix in the private one. Only the
@@ -1307,13 +1307,13 @@ namespace AMDiS {
 	*tmpMatrix = *matrix;
 	tmpMatrix->clear();
 
-	tmpMatrix->getBaseMatrix().change_dim(matrix->getRowFESpace()->getAdmin()->getUsedSize(),
-					      matrix->getColFESpace()->getAdmin()->getUsedSize());
+	tmpMatrix->getBaseMatrix().change_dim(matrix->getRowFeSpace()->getAdmin()->getUsedSize(),
+					      matrix->getColFeSpace()->getAdmin()->getUsedSize());
 	tmpMatrix->startInsertion(10);
       }
 
       if (vector) {
-	tmpVector = new DOFVector<double>(vector->getFESpace(), "tmp");
+	tmpVector = new DOFVector<double>(vector->getFeSpace(), "tmp");
 
 	// Copy the global vector to the private vector, because we need the
 	// operatirs defined on the global vector in the private one. But set
@@ -1442,8 +1442,8 @@ namespace AMDiS {
 #pragma omp parallel
     {
       // Each thread assembles on its own dof-vectors.
-      DOFVector<double> *tmpRhsVec = new DOFVector<double>(rhs->getFESpace(), "tmpRhs");
-      DOFVector<double> *tmpSolVec = new DOFVector<double>(solution->getFESpace(), "tmpSol");
+      DOFVector<double> *tmpRhsVec = new DOFVector<double>(rhs->getFeSpace(), "tmpRhs");
+      DOFVector<double> *tmpSolVec = new DOFVector<double>(solution->getFeSpace(), "tmpSol");
       tmpRhsVec->set(0.0);
       tmpSolVec->set(0.0);
 
@@ -1520,7 +1520,7 @@ namespace AMDiS {
       elInfo = stack.traverseNext(elInfo);
     }
 
-    ElementFileWriter::writeFile(vec, this->getFESpace(comp), name);
+    ElementFileWriter::writeFile(vec, this->getFeSpace(comp), name);
   }
 
 
diff --git a/AMDiS/src/ProblemVec.h b/AMDiS/src/ProblemVec.h
index 9daf183bbded7b6e25d5d34a727f9ba108c1a4e5..800ba3ab2750e1677705dae97b8bbecfdf1e8cf2 100644
--- a/AMDiS/src/ProblemVec.h
+++ b/AMDiS/src/ProblemVec.h
@@ -34,6 +34,7 @@
 #include "ComponentTraverseInfo.h"
 #include "AbstractFunction.h"
 #include "SolverMatrix.h"
+#include "SystemVector.h"
 
 namespace AMDiS {
 
@@ -105,7 +106,7 @@ namespace AMDiS {
     virtual void createMesh();
 
     /// Used in \ref initialize().
-    virtual void createFESpace(DOFAdmin *admin);
+    virtual void createFeSpace(DOFAdmin *admin);
 
     /// Used in \ref initialize().
     virtual void createMatricesAndVectors();
@@ -283,12 +284,22 @@ namespace AMDiS {
       return solution; 
     }
 
+    inline const DOFVector<double>* getSolutionVector(int i = 0)
+    {
+      return solution->getDOFVector(i);
+    }
+
     /// Returns \ref rhs.
-    inline SystemVector* getRHS() 
+    inline SystemVector* getRhs() 
     { 
       return rhs; 
     }
 
+    inline const DOFVector<double>* getRhsVector(int i = 0)
+    {
+      return rhs->getDOFVector(i);
+    }
+
     /// Returns \ref systemMatrix.
     inline Matrix<DOFMatrix*> *getSystemMatrix() 
     { 
@@ -302,7 +313,7 @@ namespace AMDiS {
     }
 
     /// Returns mesh of given component
-    inline Mesh* getMesh(int comp) 
+    inline Mesh* getMesh(int comp = 0) 
     {
       FUNCNAME("ProblemVec::getMesh()");
       TEST_EXIT(comp < static_cast<int>(componentMeshes.size()) && comp >= 0)
@@ -317,46 +328,46 @@ namespace AMDiS {
     }
 
     /// Returns \ref feSpace_.
-    inline FiniteElemSpace* getFESpace(int comp) 
+    inline FiniteElemSpace* getFeSpace(int comp = 0) 
     { 
-      FUNCNAME("ProblemVec::getFESpace()");
+      FUNCNAME("ProblemVec::getFeSpace()");
       TEST_EXIT(comp < static_cast<int>(componentSpaces.size()) && comp >= 0)
 	("invalid component number\n");
       return componentSpaces[comp]; 
     }
 
     /// Returns \ref feSpaces.
-    inline std::vector<FiniteElemSpace*> getFESpaces() 
+    inline std::vector<FiniteElemSpace*> getFeSpaces() 
     { 
       return feSpaces; 
     }
 
     /// Returns \ref componentSpaces;
-    inline std::vector<FiniteElemSpace*> getComponentFESpaces() 
+    inline std::vector<FiniteElemSpace*> getComponentFeSpaces() 
     {
       return componentSpaces;
     }
 
     /// Returns \ref estimator.
-    inline std::vector<Estimator*> getEstimator() 
+    inline std::vector<Estimator*> getEstimators() 
     { 
       return estimator; 
     }
 
     /// Returns \ref estimator.
-    inline Estimator* getEstimator(int comp) 
+    inline Estimator* getEstimator(int comp = 0) 
     { 
       return estimator[comp]; 
     }
 
     /// Returns \ref refinementManager.
-    inline RefinementManager* getRefinementManager(int comp) 
+    inline RefinementManager* getRefinementManager(int comp = 0) 
     { 
       return refinementManager; 
     }
 
     /// Returns \ref refinementManager.
-    inline CoarseningManager* getCoarseningManager(int comp) 
+    inline CoarseningManager* getCoarseningManager(int comp = 0) 
     { 
       return coarseningManager; 
     }
@@ -368,13 +379,13 @@ namespace AMDiS {
     }
 
     /// Returns \ref marker.
-    inline Marker *getMarker(int comp) 
+    inline Marker *getMarker(int comp = 0) 
     { 
       return marker[comp]; 
     }
 
     /// Returns \ref marker.
-    inline std::vector<Marker*> getMarker() 
+    inline std::vector<Marker*> getMarkers() 
     { 
       return marker; 
     }
@@ -410,19 +421,19 @@ namespace AMDiS {
     }
 
     /// Sets the FE space for the given component.
-    inline void setFESpace(FiniteElemSpace *feSpace, int comp) 
+    inline void setFeSpace(FiniteElemSpace *feSpace, int comp = 0) 
     {
       feSpaces[comp] = feSpace;
     }
 
     /// Sets \ref estimator.
-    inline void setEstimator(Estimator* est, int comp) 
+    inline void setEstimator(Estimator* est, int comp = 0) 
     { 
       estimator[comp] = est; 
     }
 
     /// Sets \ref marker.
-    inline void setMarker(Marker* mark, int comp) 
+    inline void setMarker(Marker* mark, int comp = 0) 
     { 
       marker[comp] = mark; 
     }
@@ -434,7 +445,7 @@ namespace AMDiS {
     }
 
     ///
-    inline void setAssembleMatrixOnlyOnce(int i, int j, bool value = true) 
+    inline void setAssembleMatrixOnlyOnce(int i = 0, int j = 0, bool value = true) 
     {
       assembleMatrixOnlyOnce[i][j] = value;
     }
@@ -447,9 +458,9 @@ namespace AMDiS {
     }
 
     ///
-    AbstractFunction<double, WorldVector<double> > *getExactSolutionFct(int component) 
+    AbstractFunction<double, WorldVector<double> > *getExactSolutionFct(int i = 0) 
     {
-      return exactSolutionFcts[component];
+      return exactSolutionFcts[i];
     }
 
     ///
diff --git a/AMDiS/src/Recovery.cc b/AMDiS/src/Recovery.cc
index f9a669033456438b51e0a4c0d4cb87dca2c3062c..61668b08de61d89924da745be0c24fd2764f17bd 100644
--- a/AMDiS/src/Recovery.cc
+++ b/AMDiS/src/Recovery.cc
@@ -493,7 +493,7 @@ void Recovery::fill_struct_vec(DOFVector<double> *uh,
 
   DimVec<int> pre_dofs(dim, NO_INIT);
   if (!gradient)
-    pre_dofs = uh->getFESpace()->getAdmin()->getNumberOfPreDOFs();
+    pre_dofs = uh->getFeSpace()->getAdmin()->getNumberOfPreDOFs();
   
   // Variables for traversing the mesh.
   Flag fill_flag = 
@@ -664,7 +664,7 @@ void Recovery::recoveryUh(DOFVector<double> *uh, DOFVector<double> &rec_vec)
 
   gradient = false;
 
-  const FiniteElemSpace *fe_space = rec_vec.getFESpace();
+  const FiniteElemSpace *fe_space = rec_vec.getFeSpace();
   set_feSpace(fe_space);                                  // Setting feSpace.
   set_exponents(feSpace->getBasisFcts()->getDegree());    // Setting exponents.
   fill_struct_vec(uh);               // Filling vector of recovery structures.
@@ -736,7 +736,7 @@ Recovery::recoveryUh(DOFVector<double> *uh, const FiniteElemSpace *fe_space)
   DOFVector<double> *result = NULL;
 
   // Allocate memory for result vector
-  if (vec && vec->getFESpace() != feSpace) {
+  if (vec && vec->getFeSpace() != feSpace) {
     delete vec;
     vec = NULL;
   }
@@ -809,7 +809,7 @@ Recovery::recovery(DOFVector<double> *uh, const FiniteElemSpace *fe_space,
   DOFVector<WorldVector<double> > *result = NULL;
 
   // Allocate memory for result vector
-  if (vec && vec->getFESpace() != feSpace) {
+  if (vec && vec->getFeSpace() != feSpace) {
     delete vec;
     vec = NULL;
   }
@@ -854,20 +854,21 @@ Recovery::recovery(DOFVector<double> *uh,
 
   TEST_EXIT_DBG(!(f_vec && f_scal))("Only one diffusion function, please!\n");
 
-  const FiniteElemSpace *fe_space = uh->getFESpace();
+  const FiniteElemSpace *fe_space = uh->getFeSpace();
 
   // define result vector
   static DOFVector<WorldVector<double> > *vec = NULL;
   DOFVector<WorldVector<double> > *result = NULL;
 
   // Allocate memory for result vector
-  if (vec && vec->getFESpace() != fe_space) {
+  if (vec && vec->getFeSpace() != fe_space) {
     delete vec;
     vec = NULL;
   }
 
   if (!vec) 
     vec = new DOFVector<WorldVector<double> >(fe_space, "gradient");  
+
   result = vec;
   result->set(WorldVector<double>(DEFAULT_VALUE, 0.0));
 
diff --git a/AMDiS/src/RecoveryEstimator.cc b/AMDiS/src/RecoveryEstimator.cc
index 7eac009fda4e268d96f9ce58cd122f7499899a2e..01b478a3cba44c862dda399afe5065d6fdffdea6 100644
--- a/AMDiS/src/RecoveryEstimator.cc
+++ b/AMDiS/src/RecoveryEstimator.cc
@@ -24,7 +24,7 @@ namespace AMDiS {
     C = C > 1e-25 ? sqr(C) : 1.0;
     
     if (norm == H1_NORM) {
-      feSpace = uh->getFESpace();
+      feSpace = uh->getFeSpace();
       degree = feSpace->getBasisFcts()->getDegree();
       
       if (degree <= 2 && C != 1.0) {
@@ -32,10 +32,10 @@ namespace AMDiS {
 	WAIT;
       }
     } else {
-      degree = uh->getFESpace()->getBasisFcts()->getDegree() + 1;    
-      feSpace = FiniteElemSpace::provideFESpace(NULL,
-						Lagrange::getLagrange(uh->getFESpace()->getMesh()->getDim(), degree),
-						uh->getFESpace()->getMesh(),
+      degree = uh->getFeSpace()->getBasisFcts()->getDegree() + 1;    
+      feSpace = FiniteElemSpace::provideFeSpace(NULL,
+						Lagrange::getLagrange(uh->getFeSpace()->getMesh()->getDim(), degree),
+						uh->getFeSpace()->getMesh(),
 						name + "->feSpace");
 
       if (method == 2) {
@@ -58,8 +58,8 @@ namespace AMDiS {
   {
     FUNCNAME("RecoveryEstimator::estimate()");
     
-    const BasisFunction *basFcts = uh_->getFESpace()->getBasisFcts();
-    Mesh *mesh = uh_->getFESpace()->getMesh();
+    const BasisFunction *basFcts = uh_->getFeSpace()->getBasisFcts();
+    Mesh *mesh = uh_->getFeSpace()->getMesh();
     int dim = mesh->getDim();
     int dow = Global::getGeo(WORLD);
     double h1Norm2 = 0.0;   
@@ -70,10 +70,10 @@ namespace AMDiS {
       else
 	rec_grd = rec_struct->recovery(uh_, feSpace, f_vec, f_scal, aux_vec);
 
-      rec_basFcts = rec_grd->getFESpace()->getBasisFcts();
+      rec_basFcts = rec_grd->getFeSpace()->getBasisFcts();
     } else {                 // sets higher-order recovery solution.
       rec_uh = rec_struct->recoveryUh(uh_, feSpace);
-      rec_basFcts = rec_uh->getFESpace()->getBasisFcts();
+      rec_basFcts = rec_uh->getFeSpace()->getBasisFcts();
     }
 
     int deg = 2 * std::max(basFcts->getDegree(), rec_basFcts->getDegree());
diff --git a/AMDiS/src/ResidualEstimator.cc b/AMDiS/src/ResidualEstimator.cc
index 271a6ae980475956ab84be329035aa4fea36b73a..49aa4efed8b25423411857c74e51452d69da25c9 100644
--- a/AMDiS/src/ResidualEstimator.cc
+++ b/AMDiS/src/ResidualEstimator.cc
@@ -55,7 +55,7 @@ namespace AMDiS {
 
     degree = 0;
     for (int system = 0; system < nSystems; system++) {
-      basFcts[system] = uh[system]->getFESpace()->getBasisFcts();
+      basFcts[system] = uh[system]->getFeSpace()->getBasisFcts();
       degree = std::max(degree, basFcts[system]->getDegree());
     }
     degree *= 2;
diff --git a/AMDiS/src/ResidualParallelEstimator.cc b/AMDiS/src/ResidualParallelEstimator.cc
index ae5096e8faeab10af9e2771ec2b34c7b711fcc10..7523f67231de378e78067a974cb00890c998adc9 100644
--- a/AMDiS/src/ResidualParallelEstimator.cc
+++ b/AMDiS/src/ResidualParallelEstimator.cc
@@ -50,7 +50,7 @@ namespace AMDiS {
   {
     FUNCNAME("ResidualParallelEstimator::estimate()");
 
-    mesh = uh[row == -1 ? 0 : row]->getFESpace()->getMesh();
+    mesh = uh[row == -1 ? 0 : row]->getFeSpace()->getMesh();
 
     for (int i = 0; i < static_cast<int>(seqEstimators_.size()); i++)
       seqEstimators_[i]->init(ts);
diff --git a/AMDiS/src/RobinBC.cc b/AMDiS/src/RobinBC.cc
index e1c42b352e658a7e10699d23bbe012a5896ac4c8..78133776dad39082e878b192369a3235244ea1bc 100644
--- a/AMDiS/src/RobinBC.cc
+++ b/AMDiS/src/RobinBC.cc
@@ -12,13 +12,13 @@ namespace AMDiS {
   RobinBC::RobinBC(BoundaryType type,
 		   AbstractFunction<double, WorldVector<double> > *j,
 		   AbstractFunction<double, WorldVector<double> > *alpha,
-		   FiniteElemSpace *rowFESpace_,
-		   FiniteElemSpace *colFESpace_)
-    : BoundaryCondition(type, rowFESpace_, colFESpace_), 
+		   FiniteElemSpace *rowFeSpace_,
+		   FiniteElemSpace *colFeSpace_)
+    : BoundaryCondition(type, rowFeSpace_, colFeSpace_), 
       neumannOperators(NULL), 
       robinOperators(NULL)
   {
-    int dim = rowFESpace->getMesh()->getDim();
+    int dim = rowFeSpace->getMesh()->getDim();
 
     // create barycentric coords for each vertex of each side
     const Element *refElement = Global::getReferenceElement(dim);
@@ -38,7 +38,7 @@ namespace AMDiS {
     }
 
     if (j) {
-      Operator *jOp = new Operator(Operator::VECTOR_OPERATOR, rowFESpace);
+      Operator *jOp = new Operator(Operator::VECTOR_OPERATOR, rowFeSpace);
       jOp->addZeroOrderTerm(new CoordsAtQP_ZOT(j));
       neumannOperators = new DimVec<SurfaceOperator*>(dim, NO_INIT);
     
@@ -50,7 +50,7 @@ namespace AMDiS {
 
     if (alpha) {
       Operator *alphaOp = 
-	new Operator(Operator::MATRIX_OPERATOR, rowFESpace, colFESpace);
+	new Operator(Operator::MATRIX_OPERATOR, rowFeSpace, colFeSpace);
       alphaOp->addZeroOrderTerm(new CoordsAtQP_ZOT(alpha));
       robinOperators = new DimVec<SurfaceOperator*>(dim, NO_INIT);
 
@@ -65,13 +65,13 @@ namespace AMDiS {
   RobinBC::RobinBC(BoundaryType type,
 		   DOFVectorBase<double> *j,
 		   DOFVectorBase<double> *alpha,
-		   FiniteElemSpace *rowFESpace_,
-		   FiniteElemSpace *colFESpace_)
-    : BoundaryCondition(type, rowFESpace_, colFESpace_), 
+		   FiniteElemSpace *rowFeSpace_,
+		   FiniteElemSpace *colFeSpace_)
+    : BoundaryCondition(type, rowFeSpace_, colFeSpace_), 
       neumannOperators(NULL), 
       robinOperators(NULL)
   {
-    int dim = rowFESpace->getMesh()->getDim();
+    int dim = rowFeSpace->getMesh()->getDim();
 
     // create barycentric coords for each vertex of each side
     const Element *refElement = Global::getReferenceElement(dim);
@@ -92,7 +92,7 @@ namespace AMDiS {
     }
 
     if (j) {
-      Operator *jOp = new Operator(Operator::VECTOR_OPERATOR, rowFESpace);
+      Operator *jOp = new Operator(Operator::VECTOR_OPERATOR, rowFeSpace);
       jOp->addZeroOrderTerm(new VecAtQP_ZOT(j, NULL));
       neumannOperators = new DimVec<SurfaceOperator*>(dim, NO_INIT);
     
@@ -104,7 +104,7 @@ namespace AMDiS {
 
     if (alpha) {
       Operator *alphaOp = 
-	new Operator(Operator::MATRIX_OPERATOR, rowFESpace, colFESpace);
+	new Operator(Operator::MATRIX_OPERATOR, rowFeSpace, colFeSpace);
       alphaOp->addZeroOrderTerm(new VecAtQP_ZOT(alpha, NULL));
       robinOperators = new DimVec<SurfaceOperator*>(dim, NO_INIT);
 
@@ -118,13 +118,13 @@ namespace AMDiS {
 
   RobinBC::RobinBC(BoundaryType type,
 		   Operator* jOp, Operator* alphaOp,
-		   FiniteElemSpace *rowFESpace_,
-		   FiniteElemSpace *colFESpace_) 
-    : BoundaryCondition(type, rowFESpace_, colFESpace_), 
+		   FiniteElemSpace *rowFeSpace_,
+		   FiniteElemSpace *colFeSpace_) 
+    : BoundaryCondition(type, rowFeSpace_, colFeSpace_), 
       neumannOperators(NULL), 
       robinOperators(NULL)
   {
-    int dim = rowFESpace->getMesh()->getDim();
+    int dim = rowFeSpace->getMesh()->getDim();
 
     // create barycentric coords for each vertex of each side
     const Element *refElement = Global::getReferenceElement(dim);
@@ -162,7 +162,7 @@ namespace AMDiS {
 				      int nBasFcts)
   {
     FUNCNAME("RobinBC::fillBoundaryCondition()");
-    TEST_EXIT_DBG(vector->getFESpace() == rowFESpace)("invalid row fe space\n");
+    TEST_EXIT_DBG(vector->getFeSpace() == rowFeSpace)("invalid row fe space\n");
 
     int dim = elInfo->getMesh()->getDim();
 
@@ -194,8 +194,8 @@ namespace AMDiS {
 				const DOFVectorBase<double> *dv)
   {
     FUNCNAME("RobinBC::fillBoundaryCondition()");
-    TEST_EXIT(matrix->getRowFESpace() == rowFESpace)("invalid row fe space\n");
-    TEST_EXIT(matrix->getColFESpace() == colFESpace)("invalid col fe space\n");
+    TEST_EXIT(matrix->getRowFeSpace() == rowFeSpace)("invalid row fe space\n");
+    TEST_EXIT(matrix->getColFeSpace() == colFeSpace)("invalid col fe space\n");
 
     int dim = elInfo->getMesh()->getDim();
     DimVec<double>  lambda(dim, NO_INIT);
@@ -204,9 +204,9 @@ namespace AMDiS {
     const DimVec<WorldVector<double> > &Lambda = elInfo->getGrdLambda();
     double det = elInfo->getDet();
     bool neumannQuad = false;
-    const BasisFunction *basFcts = dv->getFESpace()->getBasisFcts();
+    const BasisFunction *basFcts = dv->getFeSpace()->getBasisFcts();
 
-    TEST_EXIT(basFcts == rowFESpace->getBasisFcts())("invalid basFcts\n");
+    TEST_EXIT(basFcts == rowFeSpace->getBasisFcts())("invalid basFcts\n");
 
     double *uhEl = new double[basFcts->getNumber()];
 
diff --git a/AMDiS/src/RobinBC.h b/AMDiS/src/RobinBC.h
index 8ca31d37881fb42e2b4b7538de66ceeaf0670dc4..1ba10e485437c9bd56920c2d298cd1693f231e3a 100644
--- a/AMDiS/src/RobinBC.h
+++ b/AMDiS/src/RobinBC.h
@@ -45,21 +45,21 @@ namespace AMDiS {
     RobinBC(BoundaryType type,
 	    AbstractFunction<double, WorldVector<double> > *j,
 	    AbstractFunction<double, WorldVector<double> > *alpha,
-	    FiniteElemSpace *rowFESpace,
-	    FiniteElemSpace *colFESpace = NULL);
+	    FiniteElemSpace *rowFeSpace,
+	    FiniteElemSpace *colFeSpace = NULL);
 
     /// Constructor. \f$ j \f$ and \f$ alpha \f$ are given as DOFVectors.
     RobinBC(BoundaryType type,
 	    DOFVectorBase<double> *j,
 	    DOFVectorBase<double> *alpha,
-	    FiniteElemSpace *rowFESpace,
-	    FiniteElemSpace *colFESpace = NULL);
+	    FiniteElemSpace *rowFeSpace,
+	    FiniteElemSpace *colFeSpace = NULL);
 
     /// Constructor. \f$ j \f$ and \f$ alpha \f$ are given as Operator objects.
     RobinBC(BoundaryType type,
 	    Operator* jOp, Operator* alphaOp,
-	    FiniteElemSpace *rowFESpace,
-	    FiniteElemSpace *colFESpace = NULL);
+	    FiniteElemSpace *rowFeSpace,
+	    FiniteElemSpace *colFeSpace = NULL);
 
     /// Implements BoundaryCondition::fillBoundaryCondition();
     virtual void fillBoundaryCondition(DOFMatrix* matrix,
@@ -95,9 +95,9 @@ namespace AMDiS {
   public:
     NeumannBC(BoundaryType type,
 	      AbstractFunction<double, WorldVector<double> > *j,
-	      FiniteElemSpace *rowFESpace,
-	      FiniteElemSpace *colFESpace = NULL)
-      : RobinBC(type, j, NULL, rowFESpace, colFESpace)
+	      FiniteElemSpace *rowFeSpace,
+	      FiniteElemSpace *colFeSpace = NULL)
+      : RobinBC(type, j, NULL, rowFeSpace, colFeSpace)
     {}
   };
 
diff --git a/AMDiS/src/SMIAdapter.h b/AMDiS/src/SMIAdapter.h
index 130c43f2d210de0ed9d6ef2203146522bbe601a8..eb177fd144a3b404cdfd740131717e6bfb1d6935 100644
--- a/AMDiS/src/SMIAdapter.h
+++ b/AMDiS/src/SMIAdapter.h
@@ -96,7 +96,7 @@ namespace AMDiS {
     /// SMI mesh id
     int smiMeshId_;
 
-    /// FESpace containing the mesh
+    /// FeSpace containing the mesh
     FiniteElemSpace *feSpace_;
 
     /// smi element type of all elements in the mesh 
diff --git a/AMDiS/src/SecondOrderAssembler.cc b/AMDiS/src/SecondOrderAssembler.cc
index 2bd7858f14170760ff7b843c59984f43f33d2096..5837339150a53644406a30b1569eb4cbccccb268 100644
--- a/AMDiS/src/SecondOrderAssembler.cc
+++ b/AMDiS/src/SecondOrderAssembler.cc
@@ -84,8 +84,8 @@ namespace AMDiS {
   {
     name = "precalculated second order assembler";
 
-    q11 = Q11PsiPhi::provideQ11PsiPhi(owner->getRowFESpace()->getBasisFcts(), 
-				      owner->getColFESpace()->getBasisFcts(), 
+    q11 = Q11PsiPhi::provideQ11PsiPhi(owner->getRowFeSpace()->getBasisFcts(), 
+				      owner->getColFeSpace()->getBasisFcts(), 
 				      quadrature);
     tmpLALt.resize(omp_get_overall_max_threads());
     for (int i = 0; i < omp_get_overall_max_threads(); i++) {
@@ -203,9 +203,9 @@ namespace AMDiS {
 #pragma omp critical
 #endif
       {   
-        psiFast = updateFastQuadrature(psiFast, owner->getRowFESpace()->getBasisFcts(), 
+        psiFast = updateFastQuadrature(psiFast, owner->getRowFeSpace()->getBasisFcts(), 
   				       INIT_GRD_PHI);
-        phiFast = updateFastQuadrature(phiFast, owner->getRowFESpace()->getBasisFcts(), 
+        phiFast = updateFastQuadrature(phiFast, owner->getRowFeSpace()->getBasisFcts(), 
 				       INIT_GRD_PHI);
       }
       firstCall = false;
@@ -270,8 +270,8 @@ namespace AMDiS {
     DimVec<double> grdPsi(dim, NO_INIT);
     VectorOfFixVecs<DimVec<double> > grdPhi(dim, nCol, NO_INIT);
 
-    const BasisFunction *psi = owner->getRowFESpace()->getBasisFcts();
-    const BasisFunction *phi = owner->getColFESpace()->getBasisFcts();
+    const BasisFunction *psi = owner->getRowFeSpace()->getBasisFcts();
+    const BasisFunction *phi = owner->getColFeSpace()->getBasisFcts();
 
     int nPoints = quadrature->getNumPoints();
 
diff --git a/AMDiS/src/SecondOrderTerm.cc b/AMDiS/src/SecondOrderTerm.cc
index 2f1cc84d7bb06f054e5accf5734c4b6eaa58c6d7..0133e1eb17bb3028270099eecd321389ea019f65 100644
--- a/AMDiS/src/SecondOrderTerm.cc
+++ b/AMDiS/src/SecondOrderTerm.cc
@@ -73,7 +73,7 @@ namespace AMDiS {
 
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void MatrixFct_SOT::initElement(const ElInfo* elInfo, 
@@ -171,7 +171,7 @@ namespace AMDiS {
 
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecAtQP_SOT::initElement(const ElInfo* elInfo, 
@@ -239,8 +239,8 @@ namespace AMDiS {
     TEST_EXIT(dv1)("No first vector!\n");
     TEST_EXIT(dv2)("No second vector!\n");
 
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   void Vec2AtQP_SOT::initElement(const ElInfo* elInfo, 
@@ -355,7 +355,7 @@ namespace AMDiS {
 
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void MatrixGradient_SOT::initElement(const ElInfo* elInfo, 
@@ -432,7 +432,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void FctGradient_SOT::initElement(const ElInfo* elInfo, 
@@ -494,7 +494,7 @@ namespace AMDiS {
 
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecMatrixGradientAtQP_SOT::initElement(const ElInfo* elInfo, 
@@ -560,7 +560,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecGradCoordsAtQP_SOT::initElement(const ElInfo* elInfo, 
@@ -621,7 +621,7 @@ namespace AMDiS {
 
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecAndCoordsAtQP_SOT::initElement(const ElInfo* elInfo, 
@@ -685,7 +685,7 @@ namespace AMDiS {
 
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void MatrixGradientAndCoords_SOT::initElement(const ElInfo* elInfo, 
@@ -762,8 +762,8 @@ namespace AMDiS {
     TEST_EXIT_DBG(dv1)("No vector!\n");
     TEST_EXIT_DBG(dv2)("No vector!\n");
     
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   void MatrixVec2_SOT::initElement(const ElInfo* elInfo, 
@@ -836,13 +836,13 @@ namespace AMDiS {
     for (int i = 0; i < static_cast<int>(vecs.size()); i++) {
       TEST_EXIT(vecs[i])("One vector is NULL!\n");
 
-      auxFeSpaces.insert(vecs[i]->getFESpace());
+      auxFeSpaces.insert(vecs[i]->getFeSpace());
     }   
 
     for (int i = 0; i < static_cast<int>(grads.size()); i++) {
       TEST_EXIT(grads[i])("One gradient vector is NULL!\n");
 
-      auxFeSpaces.insert(grads[i]->getFESpace());
+      auxFeSpaces.insert(grads[i]->getFeSpace());
     }
   }
 
@@ -969,13 +969,13 @@ namespace AMDiS {
     for (int i = 0; i < static_cast<int>(vecs.size()); i++) {
       TEST_EXIT(vecs[i])("One vector is NULL!\n");
 
-      auxFeSpaces.insert(vecs[i]->getFESpace());
+      auxFeSpaces.insert(vecs[i]->getFeSpace());
     }   
 
     for (int i = 0; i < static_cast<int>(grads.size()); i++) {
       TEST_EXIT(grads[i])("One gradient vector is NULL!\n");
 
-      auxFeSpaces.insert(grads[i]->getFESpace());
+      auxFeSpaces.insert(grads[i]->getFeSpace());
     }
   }
 
@@ -1085,7 +1085,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecAndGradAtQP_SOT::initElement(const ElInfo* elInfo, 
@@ -1240,7 +1240,7 @@ namespace AMDiS {
 
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecAtQP_IJ_SOT::initElement(const ElInfo* elInfo, 
diff --git a/AMDiS/src/SolutionDataStorage.h b/AMDiS/src/SolutionDataStorage.h
index 5c0f663bbf201f843234b90a223a9cc76790dabc..3f89b8232184e691568508b5474be918c6defbfb 100644
--- a/AMDiS/src/SolutionDataStorage.h
+++ b/AMDiS/src/SolutionDataStorage.h
@@ -184,7 +184,7 @@ namespace AMDiS {
       in.get();
       SerUtil::deserialize(in, dim);
       SerUtil::deserialize(in, degree);
-      *fe = FiniteElemSpace::provideFESpace(NULL,
+      *fe = FiniteElemSpace::provideFeSpace(NULL,
 					    Lagrange::getLagrange(dim, degree),
 					    mesh,
 					    name);
@@ -239,7 +239,7 @@ namespace AMDiS {
     T* solution;
 
     /** \brief
-     * Stores to every solution its FE Space. If \ref fixedFESpace is set
+     * Stores to every solution its FE Space. If \ref fixedFeSpace is set
      * to true, only one entry exists. This is than the FE Space for all
      * solutions.
      */
@@ -374,7 +374,7 @@ namespace AMDiS {
     int memoryUsage;
 
     /** \brief
-     * Storage for the solutions, i.e., the DOFVector, the FESpace and the 
+     * Storage for the solutions, i.e., the DOFVector, the FeSpace and the 
      * corresponding timestep.
      */
     std::vector<SolutionData<T>* > solutions;
diff --git a/AMDiS/src/SolutionDataStorage.hh b/AMDiS/src/SolutionDataStorage.hh
index 948cdca173633a51965293e90edb66e39dbb83b2..3b5d82f69040064c94c0e03e47d61e27a9a0bf90 100644
--- a/AMDiS/src/SolutionDataStorage.hh
+++ b/AMDiS/src/SolutionDataStorage.hh
@@ -40,12 +40,12 @@ namespace AMDiS {
       poped = false;
     }
     
-    std::vector<FiniteElemSpace*> feSpace(solution->getFESpaces().size());
+    std::vector<FiniteElemSpace*> feSpace(solution->getFeSpaces().size());
     for (int i = 0; i < feSpace.size(); i++) {
 
       int found = -1;
       for (int j = 0; j < i; j++) {
-	if (solution->getFESpace(j) == solution->getFESpace(i)) {
+	if (solution->getFeSpace(j) == solution->getFeSpace(i)) {
 	  found = j;
 	  break;
 	}
@@ -53,14 +53,14 @@ namespace AMDiS {
 
       if (found == -1) {
 	feSpace[i] = new FiniteElemSpace();
-	*(feSpace[i]) = *(solution->getFESpace(i));       	    
+	*(feSpace[i]) = *(solution->getFeSpace(i));       	    
 	memoryUsage += feSpace[i]->calcMemoryUsage();
       } else {
 	feSpace[i] = feSpace[found];
       }	  
     }
 
-    SystemVector *vec = new SystemVector("tmp", feSpace, solution->getFESpaces().size());
+    SystemVector *vec = new SystemVector("tmp", feSpace, solution->getFeSpaces().size());
     vec->createNewDOFVectors("tmp");
     vec->setCoarsenOperation(COARSE_INTERPOL);
     vec->interpol(solution, 1.0);
diff --git a/AMDiS/src/SolverMatrix.h b/AMDiS/src/SolverMatrix.h
index f090a3baca45ccadcb21a41b33f92cc92ba6da8a..c22588f3eaa5bb280d37155f0a608caa8e91bd6a 100644
--- a/AMDiS/src/SolverMatrix.h
+++ b/AMDiS/src/SolverMatrix.h
@@ -68,23 +68,23 @@ namespace AMDiS {
       std::vector<int> block_starts(ns + 1);
 
       block_starts[0] = 0;
-      for (int i= 0; i < ns; ++i)
-	block_starts[i+1]= block_starts[i] + A[i][i]->getFESpace()->getAdmin()->getUsedSize();
+      for (int i= 0; i < ns; i++)
+	block_starts[i + 1] = block_starts[i] + A[i][i]->getFeSpace()->getAdmin()->getUsedSize();
       
       matrix.change_dim(block_starts[ns], block_starts[ns]);
       set_to_zero(matrix);
       
-      int nnz= 0;
-      for (int rb= 0; rb < ns; ++rb)
-	for (int cb= 0; cb < ns; ++cb)
+      int nnz = 0;
+      for (int rb = 0; rb < ns; ++rb)
+	for (int cb = 0; cb < ns; ++cb)
 	  if (A[rb][cb])
-	    nnz+= A[rb][cb]->getBaseMatrix().nnz();	  
+	    nnz += A[rb][cb]->getBaseMatrix().nnz();	  
       
       DOFMatrix::inserter_type  ins(matrix, int(1.2 * nnz / matrix.dim1()));
-      for (int rb= 0; rb < ns; ++rb)
-	for (int cb= 0; cb < ns; ++cb)
+      for (int rb = 0; rb < ns; ++rb)
+	for (int cb = 0; cb < ns; ++cb)
 	  if (A[rb][cb])
-	    ins[block_starts[rb]][block_starts[cb]] << A[rb][cb]->getBaseMatrix();	  
+	    ins[block_starts[rb]][block_starts[cb]] << A[rb][cb]->getBaseMatrix();
 
       originalMat = &A;
     }
diff --git a/AMDiS/src/SubAssembler.cc b/AMDiS/src/SubAssembler.cc
index 951fe1c839ab8eab35de4fe33599bcdede8eeea3..a289ae492c9b46378926f8e115e2688eee06b079 100644
--- a/AMDiS/src/SubAssembler.cc
+++ b/AMDiS/src/SubAssembler.cc
@@ -29,8 +29,8 @@ namespace AMDiS {
       firstCall(true),
       name("")
   {
-    const BasisFunction *psi = assembler->rowFESpace->getBasisFcts();
-    const BasisFunction *phi = assembler->colFESpace->getBasisFcts();
+    const BasisFunction *psi = assembler->rowFeSpace->getBasisFcts();
+    const BasisFunction *phi = assembler->colFeSpace->getBasisFcts();
 
     nRow = psi->getNumber();
     nCol = phi->getNumber();
@@ -69,7 +69,7 @@ namespace AMDiS {
       symmetric = false;
     }
 
-    dim = assembler->rowFESpace->getMesh()->getDim();
+    dim = assembler->rowFeSpace->getMesh()->getDim();
   }
 
 
@@ -160,7 +160,7 @@ namespace AMDiS {
     const DOFVectorBase<double>* vec = dv ? dv : owner->operat->getUhOld();
 
     TEST_EXIT_DBG(vec)("no dof vector!\n");
-    TEST_EXIT_DBG(elInfo->getMesh() == vec->getFESpace()->getMesh())
+    TEST_EXIT_DBG(elInfo->getMesh() == vec->getFeSpace()->getMesh())
       ("Vector and fe space do not fit together!\n");
 
     Quadrature *localQuad = quad ? quad : quadrature;
@@ -173,24 +173,24 @@ namespace AMDiS {
     valuesAtQPs[vec]->values.resize(localQuad->getNumPoints());
 
     double *values = &(valuesAtQPs[vec]->values[0]);
-    bool sameFESpaces = 
-      (vec->getFESpace() == owner->rowFESpace) || 
-      (vec->getFESpace() == owner->colFESpace);
+    bool sameFeSpaces = 
+      (vec->getFeSpace() == owner->rowFeSpace) || 
+      (vec->getFeSpace() == owner->colFeSpace);
 
 
-    if (opt && !quad && sameFESpaces) {
-      const BasisFunction *psi = owner->rowFESpace->getBasisFcts();
-      const BasisFunction *phi = owner->colFESpace->getBasisFcts();
-      if (vec->getFESpace()->getBasisFcts() == psi)
+    if (opt && !quad && sameFeSpaces) {
+      const BasisFunction *psi = owner->rowFeSpace->getBasisFcts();
+      const BasisFunction *phi = owner->colFeSpace->getBasisFcts();
+      if (vec->getFeSpace()->getBasisFcts() == psi)
 	psiFast = updateFastQuadrature(psiFast, psi, INIT_PHI);
-      else if(vec->getFESpace()->getBasisFcts() == phi)
+      else if(vec->getFeSpace()->getBasisFcts() == phi)
 	phiFast = updateFastQuadrature(phiFast, phi, INIT_PHI);      
     }
 
     // calculate new values
-    const BasisFunction *basFcts = vec->getFESpace()->getBasisFcts();
+    const BasisFunction *basFcts = vec->getFeSpace()->getBasisFcts();
 
-    if (opt && !quad && sameFESpaces) {
+    if (opt && !quad && sameFeSpaces) {
       if (psiFast->getBasisFunctions() == basFcts) {
 	vec->getVecAtQPs(elInfo, NULL, psiFast, values);
       } else if (phiFast->getBasisFunctions() == basFcts) {
@@ -255,24 +255,24 @@ namespace AMDiS {
 
     WorldVector<double> *values = &(gradientsAtQPs[vec]->values[0]);
 
-    const BasisFunction *psi = owner->rowFESpace->getBasisFcts();
-    const BasisFunction *phi = owner->colFESpace->getBasisFcts();
+    const BasisFunction *psi = owner->rowFeSpace->getBasisFcts();
+    const BasisFunction *phi = owner->colFeSpace->getBasisFcts();
 
-    bool sameFESpaces = 
-      (vec->getFESpace() == owner->rowFESpace) || 
-      (vec->getFESpace() == owner->colFESpace);
+    bool sameFeSpaces = 
+      (vec->getFeSpace() == owner->rowFeSpace) || 
+      (vec->getFeSpace() == owner->colFeSpace);
 
-    if (opt && !quad && sameFESpaces) {
-      if (vec->getFESpace()->getBasisFcts() == psi)
+    if (opt && !quad && sameFeSpaces) {
+      if (vec->getFeSpace()->getBasisFcts() == psi)
 	psiFast = updateFastQuadrature(psiFast, psi, INIT_GRD_PHI);
-      else if(vec->getFESpace()->getBasisFcts() == phi)
+      else if(vec->getFeSpace()->getBasisFcts() == phi)
 	phiFast = updateFastQuadrature(phiFast, phi, INIT_GRD_PHI);
     }
   
     // calculate new values
-    const BasisFunction *basFcts = vec->getFESpace()->getBasisFcts();
+    const BasisFunction *basFcts = vec->getFeSpace()->getBasisFcts();
 
-    if (opt && !quad && sameFESpaces) {
+    if (opt && !quad && sameFeSpaces) {
       if (psiFast->getBasisFunctions() == basFcts)
 	vec->getGrdAtQPs(elInfo, NULL, psiFast, values);
       else
diff --git a/AMDiS/src/SurfaceAssembler.h b/AMDiS/src/SurfaceAssembler.h
index 35e3ca12a04b06520238e89609ecbdd9437008f6..a3582ab992e50705c03b096fec42fe8a010765b5 100644
--- a/AMDiS/src/SurfaceAssembler.h
+++ b/AMDiS/src/SurfaceAssembler.h
@@ -40,10 +40,10 @@ namespace AMDiS {
   public:
     /// Creates a SurfaceAssembler conforming to operat for the given \ref coords.
     SurfaceAssembler(Operator *operat,
-		     const FiniteElemSpace *rowFESpace,
-		     const FiniteElemSpace *colFESpace,
+		     const FiniteElemSpace *rowFeSpace,
+		     const FiniteElemSpace *colFeSpace,
 		     VectorOfFixVecs<DimVec<double> > &coords) 
-      : Assembler(operat, rowFESpace, colFESpace, -1), 
+      : Assembler(operat, rowFeSpace, colFeSpace, -1), 
 	coords_(coords)
     {
       TEST_EXIT(rowDim_ == colDim_)("rowDim_ != colDim_\n");
diff --git a/AMDiS/src/SurfaceOperator.h b/AMDiS/src/SurfaceOperator.h
index 147555c6cb967ae0f7e0e4b7f776bb05d64232b9..6cc4ea164b9475ad1ee1adae6c26a731333c0363 100644
--- a/AMDiS/src/SurfaceOperator.h
+++ b/AMDiS/src/SurfaceOperator.h
@@ -57,7 +57,7 @@ namespace AMDiS {
     {
       assembler[omp_get_thread_num()] = NULL;
 
-      int dim = rowFESpace->getMesh()->getDim();
+      int dim = rowFeSpace->getMesh()->getDim();
       int degree;
       int myRank = omp_get_thread_num();
 
@@ -115,7 +115,7 @@ namespace AMDiS {
 				  ElementMatrix& userMat, 
 				  double factor = 1.0)
     {
-      int dim = rowFESpace->getMesh()->getDim();
+      int dim = rowFeSpace->getMesh()->getDim();
       double origDet = elInfo->getDet();
 
       FixVec<WorldVector<double>, VERTEX> worldCoords(dim-1, NO_INIT);
@@ -143,7 +143,7 @@ namespace AMDiS {
 				  ElementVector& userVec, 
 				  double factor = 1.0) 
     {
-      int dim = rowFESpace->getMesh()->getDim();
+      int dim = rowFeSpace->getMesh()->getDim();
       double origDet = elInfo->getDet();
 
       FixVec<WorldVector<double>, VERTEX> worldCoords(dim-1, NO_INIT);
diff --git a/AMDiS/src/SystemVector.h b/AMDiS/src/SystemVector.h
index 383a3bd84fe851448998823f6bfb2e48782add36..864a3952e1ec49e24592f672c2a978e4d0ba0ab0 100644
--- a/AMDiS/src/SystemVector.h
+++ b/AMDiS/src/SystemVector.h
@@ -165,13 +165,13 @@ namespace AMDiS {
     }
 
     /// Returns the fe space for a given component.
-    inline FiniteElemSpace *getFESpace(int i) const 
+    inline FiniteElemSpace *getFeSpace(int i) const 
     { 
       return feSpace[i]; 
     }
 
     /// Returns the fe spaces for all components.
-    inline std::vector<FiniteElemSpace*> getFESpaces() const 
+    inline std::vector<FiniteElemSpace*> getFeSpaces() const 
     {
       return feSpace;
     }
diff --git a/AMDiS/src/TecPlotWriter.cc b/AMDiS/src/TecPlotWriter.cc
index 8e2d6e13f6d19866c452fab95436cb786d63c7c1..156d92e1f7dbe384f76386f1108c8b0fe35f40ff 100644
--- a/AMDiS/src/TecPlotWriter.cc
+++ b/AMDiS/src/TecPlotWriter.cc
@@ -7,7 +7,7 @@ namespace AMDiS {
   template<>
   int TecPlotWriter<DOFVector<double> >::writeValuesFct(ElInfo* elinfo)
   {
-    const DOFAdmin* admin = values->getFESpace()->getAdmin(); 
+    const DOFAdmin* admin = values->getFeSpace()->getAdmin(); 
     int n0 = admin->getNumberOfPreDOFs(VERTEX);
     const DegreeOfFreedom **dof = elinfo->getElement()->getDOF();
   
@@ -47,7 +47,7 @@ namespace AMDiS {
   template<>
   int TecPlotWriter<SystemVector>::writeValuesFct(ElInfo* elinfo)
   {
-    const DOFAdmin* admin = values->getDOFVector(0)->getFESpace()->getAdmin(); 
+    const DOFAdmin* admin = values->getDOFVector(0)->getFeSpace()->getAdmin(); 
     int n0 = admin->getNumberOfPreDOFs(VERTEX);
     const DegreeOfFreedom **dof = elinfo->getElement()->getDOF();
   
diff --git a/AMDiS/src/TecPlotWriter.hh b/AMDiS/src/TecPlotWriter.hh
index bf83393542ea57aaa6a1fa8a9424557000c70da8..5b09cfedc64ac7875d313483a19a778cf98ccf9d 100644
--- a/AMDiS/src/TecPlotWriter.hh
+++ b/AMDiS/src/TecPlotWriter.hh
@@ -21,7 +21,7 @@ namespace AMDiS {
   template<typename T>
   int TecPlotWriter<T>::writeIndicesFct(ElInfo* elinfo)
   {
-    const DOFAdmin* admin = values->getFESpace()->getAdmin(); 
+    const DOFAdmin* admin = values->getFeSpace()->getAdmin(); 
     int n0 = admin->getNumberOfPreDOFs(VERTEX);
     const DegreeOfFreedom **dof = elinfo->getElement()->getDOF();
 
@@ -56,8 +56,8 @@ namespace AMDiS {
     TEST_EXIT(values)("no values\n");
     TEST_EXIT(filename)("no filename\n");
     TEST_EXIT(plotTitle)("no plotTitle\n");
-    TEST_EXIT(values->getFESpace())("no fe-space\n");
-    TEST_EXIT(values->getFESpace()->getMesh())("no mesh\n");
+    TEST_EXIT(values->getFeSpace())("no fe-space\n");
+    TEST_EXIT(values->getFeSpace()->getMesh())("no mesh\n");
 
     if (!additional)
       outFile = new std::ofstream(filename);
@@ -68,8 +68,8 @@ namespace AMDiS {
 
     outFile->setf(std::ios::scientific,std::ios::floatfield);
 
-    const DOFAdmin* admin = values->getFESpace()->getAdmin(); 
-    Mesh* mesh = values->getFESpace()->getMesh();
+    const DOFAdmin* admin = values->getFeSpace()->getAdmin(); 
+    Mesh* mesh = values->getFeSpace()->getMesh();
 
     mesh->dofCompress();
     dofCoords.resize(admin->getUsedSize());
diff --git a/AMDiS/src/VtkWriter.cc b/AMDiS/src/VtkWriter.cc
index c2f06d658693603694e7223e9bf612aca128b1a8..8b3f9917c8d8fb092cde179028a3f757972b171d 100644
--- a/AMDiS/src/VtkWriter.cc
+++ b/AMDiS/src/VtkWriter.cc
@@ -134,7 +134,7 @@ namespace AMDiS {
   {
 	FUNCNAME("VtkWriter::writeFile()");
 	
-	DataCollector dc(values->getFESpace(), values);
+	DataCollector dc(values->getFeSpace(), values);
 	std::vector<DataCollector*> dcList(0);
 	dcList.push_back(&dc);
 	writeFile(dcList,filename,writeParallel);
@@ -146,7 +146,7 @@ namespace AMDiS {
   {
 	std::vector<DataCollector*> dcList(0);
 	for(unsigned i=0; i<values.size(); ++i) {
-		dcList.push_back(new DataCollector(values[i]->getFESpace(), values[i]));
+		dcList.push_back(new DataCollector(values[i]->getFeSpace(), values[i]));
 	}
 	writeFile(dcList,filename,writeParallel);
 	for(unsigned i=0; i<values.size(); ++i) {
@@ -160,7 +160,7 @@ namespace AMDiS {
   {
 	std::vector<DataCollector*> dcList(0);
 	for(unsigned i=0; i<static_cast<unsigned>(values.getSize()); ++i) {
-		dcList.push_back(new DataCollector(values[i]->getFESpace(), values[i]));
+		dcList.push_back(new DataCollector(values[i]->getFeSpace(), values[i]));
 	}
 	writeFile(dcList,filename,writeParallel);
 	for(unsigned i=0; i<static_cast<unsigned>(values.getSize()); ++i) {
@@ -174,7 +174,7 @@ namespace AMDiS {
   {
 	WorldVector<DOFVector<double>*> valuesWV;
 	for(unsigned i=0; i<static_cast<unsigned>(valuesWV.getSize()); ++i)
-		valuesWV[i] = new DOFVector<double>(values->getFESpace(), "valuesWV_i");
+		valuesWV[i] = new DOFVector<double>(values->getFeSpace(), "valuesWV_i");
 	transform(values, &valuesWV);
 	writeFile(valuesWV,filename,writeParallel);
 	for(unsigned i=0; i<static_cast<unsigned>(valuesWV.getSize()); ++i) {
@@ -188,7 +188,7 @@ namespace AMDiS {
   {
 	std::vector<DataCollector*> dcList(0);
 	for(unsigned i=0; i<static_cast<unsigned>(values->getSize()); ++i) {
-		dcList.push_back(new DataCollector(values->getDOFVector(i)->getFESpace(), values->getDOFVector(i)));
+		dcList.push_back(new DataCollector(values->getDOFVector(i)->getFeSpace(), values->getDOFVector(i)));
 	}
 	writeFile(dcList,filename,writeParallel);
 	for(unsigned i=0; i<static_cast<unsigned>(dcList.size()); ++i) {
diff --git a/AMDiS/src/ZeroOrderAssembler.cc b/AMDiS/src/ZeroOrderAssembler.cc
index 270b15a4fe91a6fab2d0425474eb99bea0ed493b..ba44d6fd4a46bfa8d756236a9600863b3148d14c 100644
--- a/AMDiS/src/ZeroOrderAssembler.cc
+++ b/AMDiS/src/ZeroOrderAssembler.cc
@@ -87,8 +87,8 @@ namespace AMDiS {
 
   void StandardZOA::calculateElementMatrix(const ElInfo *elInfo, ElementMatrix& mat)
   {
-    const BasisFunction *psi = owner->getRowFESpace()->getBasisFcts();
-    const BasisFunction *phi = owner->getColFESpace()->getBasisFcts();
+    const BasisFunction *psi = owner->getRowFeSpace()->getBasisFcts();
+    const BasisFunction *phi = owner->getColFeSpace()->getBasisFcts();
 
     int nPoints = quadrature->getNumPoints();
     std::vector<double> c(nPoints, 0.0);
@@ -151,7 +151,7 @@ namespace AMDiS {
       c[iq] *= elInfo->getDet();
 
       for (int i = 0; i < nRow; i++) {
-	double psi = (*(owner->getRowFESpace()->getBasisFcts()->getPhi(i)))
+	double psi = (*(owner->getRowFeSpace()->getBasisFcts()->getPhi(i)))
 	  (quadrature->getLambda(iq));
 	vec[i] += quadrature->getWeight(iq) * c[iq] * psi;
       }
@@ -177,9 +177,9 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	const BasisFunction *basFcts = owner->getRowFESpace()->getBasisFcts();
+	const BasisFunction *basFcts = owner->getRowFeSpace()->getBasisFcts();
 	psiFast = updateFastQuadrature(psiFast, basFcts, INIT_PHI);
-	basFcts = owner->getColFESpace()->getBasisFcts();
+	basFcts = owner->getColFeSpace()->getBasisFcts();
 	phiFast = updateFastQuadrature(phiFast, basFcts, INIT_PHI);
 	firstCall = false;
       }
@@ -236,9 +236,9 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	const BasisFunction *basFcts = owner->getRowFESpace()->getBasisFcts();
+	const BasisFunction *basFcts = owner->getRowFeSpace()->getBasisFcts();
 	psiFast = updateFastQuadrature(psiFast, basFcts, INIT_PHI);
-	basFcts = owner->getColFESpace()->getBasisFcts();
+	basFcts = owner->getColFeSpace()->getBasisFcts();
 	phiFast = updateFastQuadrature(phiFast, basFcts, INIT_PHI);
 	firstCall = false;
       }
@@ -275,10 +275,10 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	q00 = Q00PsiPhi::provideQ00PsiPhi(owner->getRowFESpace()->getBasisFcts(), 
-					  owner->getColFESpace()->getBasisFcts(), 
+	q00 = Q00PsiPhi::provideQ00PsiPhi(owner->getRowFeSpace()->getBasisFcts(), 
+					  owner->getColFeSpace()->getBasisFcts(), 
 					  quadrature);
-	q0 = Q0Psi::provideQ0Psi(owner->getRowFESpace()->getBasisFcts(),
+	q0 = Q0Psi::provideQ0Psi(owner->getRowFeSpace()->getBasisFcts(),
 				 quadrature);
 	firstCall = false;
       }
@@ -320,10 +320,10 @@ namespace AMDiS {
 #pragma omp critical
 #endif 
       {
-	q00 = Q00PsiPhi::provideQ00PsiPhi(owner->getRowFESpace()->getBasisFcts(), 
-					  owner->getColFESpace()->getBasisFcts(), 
+	q00 = Q00PsiPhi::provideQ00PsiPhi(owner->getRowFeSpace()->getBasisFcts(), 
+					  owner->getColFeSpace()->getBasisFcts(), 
 					  quadrature);
-	q0 = Q0Psi::provideQ0Psi(owner->getRowFESpace()->getBasisFcts(),
+	q0 = Q0Psi::provideQ0Psi(owner->getRowFeSpace()->getBasisFcts(),
 				 quadrature);	
 	firstCall = false;
       }
diff --git a/AMDiS/src/ZeroOrderTerm.cc b/AMDiS/src/ZeroOrderTerm.cc
index d97cd6d378e4fe30dbf0b130519665514612cbef..3f61ac5dcd7ac14534974e681e0abb29d68efab5 100644
--- a/AMDiS/src/ZeroOrderTerm.cc
+++ b/AMDiS/src/ZeroOrderTerm.cc
@@ -11,7 +11,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecAtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -69,8 +69,8 @@ namespace AMDiS {
     TEST_EXIT(dv1)("No first vector!\n");
     TEST_EXIT(dv2)("No second vector!\n");
 
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   void MultVecAtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -109,8 +109,8 @@ namespace AMDiS {
     TEST_EXIT(dv1)("No first vector!\n");
     TEST_EXIT(dv2)("No second vector!\n");
 
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   void Vec2AtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -126,7 +126,7 @@ namespace AMDiS {
 				 SubAssembler* subAssembler,
 				 Quadrature *quad)
   {
-    TEST_EXIT(vec1->getFESpace() == vec2->getFESpace())("Not yet implemented!\n");
+    TEST_EXIT(vec1->getFeSpace() == vec2->getFeSpace())("Not yet implemented!\n");
 
     vecAtQPs1 = getVectorAtQPs(vec1, smallElInfo, largeElInfo, subAssembler, quad);
     vecAtQPs2 = getVectorAtQPs(vec2, smallElInfo, largeElInfo, subAssembler, quad);
@@ -162,9 +162,9 @@ namespace AMDiS {
     TEST_EXIT(dv2)("No second vector!\n");
     TEST_EXIT(dv3)("No thierd vector!\n");
 
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());
-    auxFeSpaces.insert(dv3->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());
+    auxFeSpaces.insert(dv3->getFeSpace());
   }
 
   void Vec3AtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -203,7 +203,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void FctGradientCoords_ZOT::initElement(const ElInfo* elInfo, 
@@ -241,7 +241,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecGradCoordsAtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -282,7 +282,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecAndCoordsAtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -320,8 +320,8 @@ namespace AMDiS {
     TEST_EXIT(dv1)("No first vector!\n");
     TEST_EXIT(dv2)("No second vector!\n");
 
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   void Vec2AndGradAtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -362,7 +362,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void FctGradient_ZOT::initElement(const ElInfo* elInfo, 
@@ -398,7 +398,7 @@ namespace AMDiS {
   {
     TEST_EXIT(dv)("No vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
   }
 
   void VecAndGradAtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -437,8 +437,8 @@ namespace AMDiS {
     TEST_EXIT(dv)("No vector!\n");
     TEST_EXIT(dGrd)("No gradient vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
-    auxFeSpaces.insert(dGrd->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
+    auxFeSpaces.insert(dGrd->getFeSpace());
   }
 
   void VecAndGradVecAtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -479,9 +479,9 @@ namespace AMDiS {
     TEST_EXIT(dGrd1)("No first gradient vector!\n");
     TEST_EXIT(dGrd2)("No second gradient vector!\n");
 
-    auxFeSpaces.insert(dv->getFESpace());
-    auxFeSpaces.insert(dGrd1->getFESpace());
-    auxFeSpaces.insert(dGrd2->getFESpace());
+    auxFeSpaces.insert(dv->getFeSpace());
+    auxFeSpaces.insert(dGrd1->getFeSpace());
+    auxFeSpaces.insert(dGrd2->getFeSpace());
   }
 
   void VecAndGradVec2AtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -523,7 +523,7 @@ namespace AMDiS {
     for (int i = 0; i < static_cast<int>(dv.size()); i++) {
       TEST_EXIT(dv[i])("One vector is NULL!\n");
 
-      auxFeSpaces.insert(dv[i]->getFESpace());
+      auxFeSpaces.insert(dv[i]->getFeSpace());
     }
   } 
 
@@ -579,7 +579,7 @@ namespace AMDiS {
     for (int i = 0; i < static_cast<int>(dv.size()); i++) {
       TEST_EXIT(dv[i])("One vector is NULL!\n");
 
-      auxFeSpaces.insert(dv[i]->getFESpace());
+      auxFeSpaces.insert(dv[i]->getFeSpace());
     }
   } 
 
@@ -638,11 +638,11 @@ namespace AMDiS {
     vecs[1] = vec1;
     vecs[2] = vec2;
 
-    auxFeSpaces.insert(vec0->getFESpace());
+    auxFeSpaces.insert(vec0->getFeSpace());
     if (vec1) 
-      auxFeSpaces.insert(vec1->getFESpace());
+      auxFeSpaces.insert(vec1->getFeSpace());
     if (vec2) 
-      auxFeSpaces.insert(vec2->getFESpace());
+      auxFeSpaces.insert(vec2->getFeSpace());
   }
 
   void VecDivergence_ZOT::initElement(const ElInfo* elInfo, 
@@ -694,11 +694,11 @@ namespace AMDiS {
 
     TEST_EXIT(v)("No vector!\n");
 
-    auxFeSpaces.insert(v->getFESpace());
+    auxFeSpaces.insert(v->getFeSpace());
     for (int i = 0; i < static_cast<int>(dv.size()); i++) {
       TEST_EXIT(dv[i])("One gradient vector is NULL!\n");
 
-      auxFeSpaces.insert(dv[i]->getFESpace());
+      auxFeSpaces.insert(dv[i]->getFeSpace());
     }
   }
 
@@ -756,8 +756,8 @@ namespace AMDiS {
     TEST_EXIT(dv1)("No first vector!\n");
     TEST_EXIT(dv2)("No second vector!\n");
     
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());
   }
 
   void Vec2AndGrad2AtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -803,9 +803,9 @@ namespace AMDiS {
     TEST_EXIT(dv2)("No vector!\n");
     TEST_EXIT(dGrd)("No gradient vector!\n");
     
-    auxFeSpaces.insert(dv1->getFESpace());
-    auxFeSpaces.insert(dv2->getFESpace());
-    auxFeSpaces.insert(dGrd->getFESpace());
+    auxFeSpaces.insert(dv1->getFeSpace());
+    auxFeSpaces.insert(dv2->getFeSpace());
+    auxFeSpaces.insert(dGrd->getFeSpace());
   }
   
   void Vec2AndGradVecAtQP_ZOT::initElement(const ElInfo* elInfo, 
@@ -849,13 +849,13 @@ namespace AMDiS {
     for (int i = 0; i < static_cast<int>(vecs.size()); i++) {
       TEST_EXIT(vecs[i])("One vector is NULL!\n");
 
-      auxFeSpaces.insert(vecs[i]->getFESpace());
+      auxFeSpaces.insert(vecs[i]->getFeSpace());
     }   
 
     for (int i = 0; i < static_cast<int>(grads.size()); i++) {
       TEST_EXIT(grads[i])("One gradient vector is NULL!\n");
 
-      auxFeSpaces.insert(grads[i]->getFESpace());
+      auxFeSpaces.insert(grads[i]->getFeSpace());
     }   
 
     vecsArg.resize(vecs_.size());
@@ -929,13 +929,13 @@ namespace AMDiS {
     for (int i = 0; i < static_cast<int>(vecs.size()); i++) {
       TEST_EXIT(vecs[i])("One vector is NULL!\n");
 
-      auxFeSpaces.insert(vecs[i]->getFESpace());
+      auxFeSpaces.insert(vecs[i]->getFeSpace());
     }   
 
     for (int i = 0; i < static_cast<int>(grads.size()); i++) {
       TEST_EXIT(grads[i])("One gradient vector is NULL!\n");
 
-      auxFeSpaces.insert(grads[i]->getFESpace());
+      auxFeSpaces.insert(grads[i]->getFeSpace());
     }   
   }
 
diff --git a/AMDiS/src/parallel/ParallelDomainBase.cc b/AMDiS/src/parallel/ParallelDomainBase.cc
index a102ed85159a7c41991d021a983078151330085d..eab2043a4c3ee256c74946d7a17a763785aedfd5 100644
--- a/AMDiS/src/parallel/ParallelDomainBase.cc
+++ b/AMDiS/src/parallel/ParallelDomainBase.cc
@@ -42,7 +42,7 @@ namespace AMDiS {
       timeIF(problemInstat),
       probStat(problemStat),
       name(problemStat->getName()),
-      feSpace(problemStat->getFESpace(0)),
+      feSpace(problemStat->getFeSpace(0)),
       mesh(feSpace->getMesh()),
       refineManager(problemStat->getRefinementManager(0)),
       info(problemStat->getInfo()),
@@ -67,9 +67,9 @@ namespace AMDiS {
 
     // Test if all fe spaces are equal. Yet, different fe spaces are not supported for
     // domain parallelization.
-    const FiniteElemSpace *fe = probStat->getFESpace(0);
+    const FiniteElemSpace *fe = probStat->getFeSpace(0);
     for (int i = 0; i < nComponents; i++)
-      TEST_EXIT(fe == probStat->getFESpace(i))
+      TEST_EXIT(fe == probStat->getFeSpace(i))
 	("Parallelization does not supported different FE spaces!\n");
 
     // Create parallel serialization file writer, if needed.