diff --git a/src/fixedpointiterator.cc b/src/fixedpointiterator.cc
index e08ef8715ca81df6ae30e55b967afe1300e0d0f7..b8fa3e55173cac8f270b50ca7688a6bf18cfd851 100644
--- a/src/fixedpointiterator.cc
+++ b/src/fixedpointiterator.cc
@@ -38,7 +38,7 @@ FixedPointIterator<Factory, StateUpdater, VelocityUpdater, ErrorNorm>::run(
     std::shared_ptr<VelocityUpdater> velocityUpdater,
     Matrix const &velocityMatrix, Vector const &velocityRHS,
     Vector &velocityIterate) {
-  auto multigridStep = factory_.getSolver();
+  auto multigridStep = factory_.getStep();
 
   EnergyNorm<Matrix, Vector> energyNorm(velocityMatrix);
   LoopSolver<Vector> velocityProblemSolver(
diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc
index 99616319383e8d22bfd4f4aeef37cff36f9dd2e0..6615a7a1bd7f53c770d3a5af4442c55b84447d3d 100644
--- a/src/sand-wedge.cc
+++ b/src/sand-wedge.cc
@@ -235,7 +235,7 @@ int main(int argc, char *argv[]) {
           1.0, _matrix, zeroNonlinearity, _rhs, _x);
       typename LinearFactory::BlockProblem problem(parset, convexProblem);
 
-      auto multigridStep = factory.getSolver();
+      auto multigridStep = factory.getStep();
       multigridStep->setProblem(_x, problem);
       LoopSolver<Vector> solver(
           multigridStep.get(), _localParset.get<size_t>("maximumIterations"),
diff --git a/src/solverfactory.cc b/src/solverfactory.cc
index 2d58ea178322d5e34f3c51fb216f97d99468266f..97a09f5e4a7f3f61b4f4d103aa868a0b3202f493 100644
--- a/src/solverfactory.cc
+++ b/src/solverfactory.cc
@@ -22,7 +22,7 @@ SolverFactory<dim, BlockProblem, Grid>::SolverFactory(
                        Solver::QUIET),
       transferOperators(refinements),
       multigridStep(
-          std::make_shared<Solver>(linearIterationStep, nonlinearSmoother)) {
+          std::make_shared<Step>(linearIterationStep, nonlinearSmoother)) {
   // linear iteration step
   linearIterationStep.setMGType(parset.get<int>("linear.cycle"),
                                 parset.get<int>("linear.pre"),
@@ -51,8 +51,8 @@ SolverFactory<dim, BlockProblem, Grid>::~SolverFactory() {
 }
 
 template <size_t dim, class BlockProblem, class Grid>
-auto SolverFactory<dim, BlockProblem, Grid>::getSolver()
-    -> std::shared_ptr<Solver> {
+auto SolverFactory<dim, BlockProblem, Grid>::getStep()
+    -> std::shared_ptr<Step> {
   return multigridStep;
 }
 
diff --git a/src/solverfactory.hh b/src/solverfactory.hh
index 550a4f17d70a0f23b807f8e18eea43d5c6b4b3a6..9135328973f7bd3a272cf5da7c02eb7177c12141 100644
--- a/src/solverfactory.hh
+++ b/src/solverfactory.hh
@@ -26,7 +26,7 @@ class SolverFactory {
 
 private:
   using NonlinearSmoother = GenericNonlinearGS<BlockProblem>;
-  using Solver =
+  using Step =
       TruncatedNonsmoothNewtonMultigrid<BlockProblem, NonlinearSmoother>;
 
 public:
@@ -35,7 +35,7 @@ class SolverFactory {
 
   ~SolverFactory();
 
-  std::shared_ptr<Solver> getSolver();
+  std::shared_ptr<Step> getStep();
 
 private:
   TruncatedBlockGSStep<Matrix, Vector> linearBaseSolverStep;
@@ -46,6 +46,6 @@ class SolverFactory {
   MultigridStep<Matrix, Vector> linearIterationStep;
   std::vector<CompressedMultigridTransfer<Vector> *> transferOperators;
   NonlinearSmoother nonlinearSmoother;
-  std::shared_ptr<Solver> multigridStep;
+  std::shared_ptr<Step> multigridStep;
 };
 #endif