diff --git a/demo/init/ellipt.dat.2d b/demo/init/ellipt.dat.2d
index e6707c8097ad14890baa176d71a1625ff5735ceb..9a61726c398f47eaa46af9f0fc0a3bed0a2168f9 100644
--- a/demo/init/ellipt.dat.2d
+++ b/demo/init/ellipt.dat.2d
@@ -1,37 +1,29 @@
 dimension of world:             2
 
 elliptMesh->macro file name:    ./macro/macro.stand.2d
-elliptMesh->global refinements: 10
+elliptMesh->global refinements: 0
 
 ellipt->mesh:                   elliptMesh
 ellipt->dim:                    2
 ellipt->components:             1
-ellipt->polynomial degree[0]:   3
-ellipt->polynomial degree[1]:   1
-ellipt->polynomial degree[2]:   1
+ellipt->polynomial degree[0]:   1
  
-ellipt->solver:                 umfpack
-ellipt->solver->ell:        1
+ellipt->solver:                 cg
 ellipt->solver->max iteration:  1000
 ellipt->solver->tolerance:      1.e-8
 ellipt->solver->info:           10
-ellipt->solver->left precon:    ilu
+ellipt->solver->left precon:    diag
 ellipt->solver->right precon:   no
 
-%ellipt->estimator[0]:              residual
-%ellipt->estimator[0]->error norm:  H1_NORM   % 1: H1_NORM, 2: L2_NORM
-%ellipt->estimator[0]->C0:          0.1 % constant of element residual
-%ellipt->estimator[0]->C1:          0.1 % constant of jump residual
+ellipt->estimator[0]:              residual
+ellipt->estimator[0]->error norm:  1   % 1: H1_NORM, 2: L2_NORM
+ellipt->estimator[0]->C0:          0.1 % constant of element residual
+ellipt->estimator[0]->C1:          0.1 % constant of jump residual
 
-ellipt->marker[0]->strategy:       0 %2 % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
-ellipt->marker[0]->MSGamma:        0.5
+ellipt->marker[0]->strategy:       2   % 0: no adaption 1: GR 2: MS 3: ES 4:GERS
 
-ellipt->adapt[0]->tolerance:          1e-6
-ellipt->adapt[0]->refine bisections:  2
-
-ellipt->adapt->max iteration:         0
+ellipt->adapt[0]->tolerance:          1e-4
+ellipt->adapt->max iteration:         15
 
 ellipt->output->filename:       output/ellipt.2d
 ellipt->output->ParaView format: 1
-ellipt->output->ARH format: 1
-ellipt->output->AMDiS format: 1
diff --git a/demo/init/vecellipt.dat.2d b/demo/init/vecellipt.dat.2d
index e5b4202645705ea9d4c9d5bd22c11374faea0fb7..5188cd48e0e948598590971a0a23ba95dc3efb58 100644
--- a/demo/init/vecellipt.dat.2d
+++ b/demo/init/vecellipt.dat.2d
@@ -1,7 +1,7 @@
 dimension of world:                      2
 
 vecelliptMesh->macro file name:          ./macro/macro.stand.2d
-vecelliptMesh->global refinements:       0
+vecelliptMesh->global refinements:       2
 
 vecellipt->mesh:                         vecelliptMesh
 vecellipt->dim:                          2
@@ -30,15 +30,11 @@ vecellipt->marker[1]->strategy:          0   % 0: no adaption 1: GR 2: MS 3: ES
 vecellipt->adapt[0]->tolerance:          1e-2
 vecellipt->adapt[1]->tolerance:          1e-3
 
-vecellipt->adapt->max iteration:         10
+vecellipt->adapt->max iteration:         100
 vecellipt->adapt->refine bisections:     2
 
-vecellipt->output[0]->filename:             output/vecellipt0.2d
+vecellipt->output[0]->filename:             output/vecellipt.2d
 vecellipt->output[0]->ParaView format:      1
-vecellipt->output[0]->ARH format: 1
-vecellipt->output[0]->AMDiS format: 1
 
 vecellipt->output[1]->filename:             output/vecellipt1.2d
 vecellipt->output[1]->ParaView format:      1
-vecellipt->output[1]->ARH format: 1
-vecellipt->output[1]->AMDiS format: 1
diff --git a/demo/src/ellipt.cc b/demo/src/ellipt.cc
index 206c027e4efe899305a0433758379bf09ca93d9c..f2c528a2a75091923fde8af730fff17778de0f9c 100644
--- a/demo/src/ellipt.cc
+++ b/demo/src/ellipt.cc
@@ -26,7 +26,7 @@ class F : public AbstractFunction<double, WorldVector<double> >
 {
 public:
 
-  F(int degree) : AbstractFunction<double, WorldVector<double> >(degree) {}
+  F() : AbstractFunction<double, WorldVector<double> >() {}
 
   /// Implementation of AbstractFunction::operator().
   double operator()(const WorldVector<double>& x) const 
@@ -67,9 +67,8 @@ int main(int argc, char* argv[])
 
 
   // ===== create rhs operator =====
-  int degree = ellipt.getFeSpace()->getBasisFcts()->getDegree();
   Operator rhsOperator(ellipt.getFeSpace());
-  rhsOperator.addTerm(new CoordsAtQP_ZOT(new F(degree)));
+  rhsOperator.addTerm(new CoordsAtQP_ZOT(new F));
   ellipt.addVectorOperator(rhsOperator, 0);
   
   // ===== add boundary conditions =====
@@ -77,11 +76,7 @@ int main(int argc, char* argv[])
 
 
   // ===== start adaption loop =====
-  ptime start_time= microsec_clock::local_time();
   adapt.adapt();
-  time_duration td= microsec_clock::local_time()-start_time;
-
-  MSG("elapsed time= %f msec\n", td.total_milliseconds()/1000.0);
 
   ellipt.writeFiles(adaptInfo, true);
 
diff --git a/demo/src/vecellipt.cc b/demo/src/vecellipt.cc
index ec2f8e9f5ad78d3f12ffca7118d4ca2d97896408..ed016b0427f252ad2598eab35e95309a1608c179 100644
--- a/demo/src/vecellipt.cc
+++ b/demo/src/vecellipt.cc
@@ -22,7 +22,7 @@ public:
 class F : public AbstractFunction<double, WorldVector<double> >
 {
 public:
-  F(int degree) : AbstractFunction<double, WorldVector<double> >(degree) {}
+  F() : AbstractFunction<double, WorldVector<double> >() {}
 
   /// Implementation of AbstractFunction::operator().
   double operator()(const WorldVector<double>& x) const 
@@ -72,9 +72,8 @@ int main(int argc, char* argv[])
 
 
   // ===== create rhs operator =====
-  int degree = vecellipt.getFeSpace(0)->getBasisFcts()->getDegree();
   Operator rhsOperator0(vecellipt.getFeSpace(0));
-  rhsOperator0.addTerm(new CoordsAtQP_ZOT(new F(degree)));
+  rhsOperator0.addTerm(new CoordsAtQP_ZOT(new F));
   vecellipt.addVectorOperator(rhsOperator0, 0);
 
   // ===== add boundary conditions =====