diff --git a/src/multi-body-problem.cc b/src/multi-body-problem.cc
index 14eb31c3b5f878521ecb1710752907678984b8ee..fc4b2f35adfe4a91147683a1791f7cd95af0d55e 100644
--- a/src/multi-body-problem.cc
+++ b/src/multi-body-problem.cc
@@ -485,6 +485,7 @@ int main(int argc, char *argv[]) {
 
     using MyUpdater = Updaters<RateUpdater<Vector, Matrix, Function, dims>,
                                StateUpdater<ScalarVector, Vector>>;
+    /*
     MyUpdater current(
         initRateUpdater(parset.get<Config::scheme>("timeSteps.scheme"),
                         velocityDirichletFunction, dirichletNodes, matrices,
@@ -494,6 +495,7 @@ int main(int argc, char *argv[]) {
             programState.alpha, *frictionalBoundary.getVertices(),
             parset.get<double>("boundary.friction.L"),
             parset.get<double>("boundary.friction.V0")));
+   */
 
     auto const refinementTolerance =
         parset.get<double>("timeSteps.refinementTolerance");
diff --git a/src/spatial-solving/fixedpointiterator.cc b/src/spatial-solving/fixedpointiterator.cc
index 5fc74bfc06b80fb1aecfa4edd8b42d7879b2b472..c479c32dc6bc830eded15e6a59e7d80bc799a860 100644
--- a/src/spatial-solving/fixedpointiterator.cc
+++ b/src/spatial-solving/fixedpointiterator.cc
@@ -4,7 +4,8 @@
 
 #include <dune/common/exceptions.hh>
 
-#include <dune/solvers/common/arithmetic.hh>
+#include <dune/matrix-vector/axpy.hh>
+
 #include <dune/solvers/norms/energynorm.hh>
 #include <dune/solvers/solvers/loopsolver.hh>
 
@@ -53,7 +54,7 @@ FixedPointIterator<Factory, Updaters, ErrorNorm>::run(
     Updaters updaters, const std::vector<Matrix>& velocityMatrices, const std::vector<Vector>& velocityRHSs,
     std::vector<Vector>& velocityIterates) {
 
-  EnergyNorm<Matrix, Vector> energyNorm(velocityMatrix);
+  //EnergyNorm<Matrix, Vector> energyNorm(velocityMatrix);
   LoopSolver<Vector> velocityProblemSolver(step_.get(), velocityMaxIterations_,
                                            velocityTolerance_, &energyNorm,
                                            verbosity_, false); // absolute error
@@ -66,10 +67,10 @@ FixedPointIterator<Factory, Updaters, ErrorNorm>::run(
        ++fixedPointIteration) {
     // solve a velocity problem
    // globalFriction_->updateAlpha(alpha);
-    ConvexProblem convexProblem(1.0, velocityMatrix, *globalFriction_,
-                                velocityRHS, velocityIterate);
-    BlockProblem velocityProblem(parset_, convexProblem);
-    step_->setProblem(velocityIterate, velocityProblem);
+    //ConvexProblem convexProblem(1.0, velocityMatrix, *globalFriction_,
+    //                            velocityRHSs, velocityIterate);
+    //BlockProblem velocityProblem(parset_, convexProblem);
+    //step_->setProblem(velocityIterate, velocityProblem);
     //step_->setProblem(velocityIterate);
     velocityProblemSolver.preprocess();
     velocityProblemSolver.solve();
@@ -81,7 +82,7 @@ FixedPointIterator<Factory, Updaters, ErrorNorm>::run(
 
     for (size_t i=0; i<v_m.size(); i++) {
       v_m[i] *= 1.0 - lambda_;
-      //Arithmetic::addProduct(v_m[i], lambda_, velocityIterate[i]);
+      Dune::MatrixVector::addProduct(v_m[i], lambda_, velocityIterates[i]);
     }
 
     // compute relative velocities on contact boundaries
@@ -102,7 +103,7 @@ FixedPointIterator<Factory, Updaters, ErrorNorm>::run(
   if (fixedPointIteration == fixedPointMaxIterations_)
     DUNE_THROW(Dune::Exception, "FPI failed to converge");
 
-  updaters.rate_->postProcess(velocityIterate);
+  updaters.rate_->postProcess(velocityIterates);
 
   // Cannot use return { fixedPointIteration, multigridIterations };
   // with gcc 4.9.2, see also http://stackoverflow.com/a/37777814/179927
@@ -121,6 +122,7 @@ std::ostream &operator<<(std::ostream &stream,
 template <class Factory, class Updaters, class ErrorNorm>
 void FixedPointIterator<Factory, Updaters, ErrorNorm>::relativeVelocities(std::vector<Vector>& v_m) const {
   // needs assemblers to obtain basis
+    /*
   std::vector<std::shared_ptr<MyAssembler>> assemblers(bodyCount);
 
   using field_type = typename Factory::Matrix::field_type;
@@ -145,6 +147,7 @@ void FixedPointIterator<Factory, Updaters, ErrorNorm>::relativeVelocities(std::v
   for (size_t i=0; i<gridFunctions.size(); i++) {
     gridFunctions[i] = new BasisGridFunction<MyAssembler::VertexBasis, Vector>(assemblers[i]->vertexBasis, v_m[i]);
   }
+ */
 
   /*
   for (size_t i=0; i<nBodyAssembler_.nCouplings(); i++) {
diff --git a/src/spatial-solving/fixedpointiterator.hh b/src/spatial-solving/fixedpointiterator.hh
index d2fa5ea522c74fc0f28fa3217cf6ca9547c09110..2e004e1a7da9c89e8d8149cb4446c96dbc4fac34 100644
--- a/src/spatial-solving/fixedpointiterator.hh
+++ b/src/spatial-solving/fixedpointiterator.hh
@@ -25,9 +25,8 @@ class FixedPointIterator {
   using ScalarVector = typename Updaters::StateUpdater::ScalarVector;
   using Vector = typename Factory::Vector;
   using Matrix = typename Factory::Matrix;
-  using ConvexProblem = typename Factory::ConvexProblem;
-  using BlockProblem = typename Factory::BlockProblem;
-  using Nonlinearity = typename ConvexProblem::NonlinearityType;
+
+ // using Nonlinearity = typename ConvexProblem::NonlinearityType;
 
   using DeformedGrid = typename Factory::DeformedGrid;
 
@@ -40,9 +39,9 @@ class FixedPointIterator {
                      const ErrorNorm& errorNorm);
 
   FixedPointIterationCounter run(Updaters updaters,
-                                 Matrix const &velocityMatrix,
-                                 Vector const &velocityRHS,
-                                 Vector &velocityIterate);
+                                 const std::vector<Matrix>& velocityMatrices,
+                                 const std::vector<Vector>& velocityRHSs,
+                                 std::vector<Vector>& velocityIterates);
 
 private:
 
diff --git a/src/spatial-solving/fixedpointiterator_tmpl.cc b/src/spatial-solving/fixedpointiterator_tmpl.cc
index 5f4ad7c14e2701958c6b0a16282a502867a54801..ca39e910c456518c7ffc3a110c4becf891d89194 100644
--- a/src/spatial-solving/fixedpointiterator_tmpl.cc
+++ b/src/spatial-solving/fixedpointiterator_tmpl.cc
@@ -21,10 +21,8 @@
 #include "solverfactory.hh"
 
 using Function = Dune::VirtualFunction<double, double>;
-using Factory = SolverFactory<
-    MY_DIM,
-    MyBlockProblem<ConvexProblem<GlobalFriction<Matrix, Vector>, Matrix>>,
-    DeformedGrid>;
+using Factory = SolverFactory<DeformedGrid, Matrix, Vector>;
+
 using MyStateUpdater = StateUpdater<ScalarVector, Vector>;
 using MyRateUpdater = RateUpdater<Vector, Matrix, Function, MY_DIM>;
 using MyUpdaters = Updaters<MyRateUpdater, MyStateUpdater>;