diff --git a/lib/solvers/chooseIterativeSolver.m b/lib/solvers/chooseIterativeSolver.m
index 55dbc4274ff1c2b6b21a0101c54a87ad034ab6e0..54bf5fbed9886c2f330ff2fae58b04ec04fba34f 100644
--- a/lib/solvers/chooseIterativeSolver.m
+++ b/lib/solvers/chooseIterativeSolver.m
@@ -33,15 +33,15 @@ switch class
                 end
             case {"", "additiveSchwarzLowOrder"}
                 if order == 1
-                    preconditioner = OptimalMLAdditiveSchwarz(P1JacobiSmoother(fes, blf, P));
+                    preconditioner = OptimalMLAdditiveSchwarz(P1JacobiCascade(fes, blf, P));
                 else
-                    preconditioner = OptimalMLAdditiveSchwarz(JacobiLowOrderCascadeSmoother(fes, blf));
+                    preconditioner = OptimalMLAdditiveSchwarz(JacobiLowOrderCascade(fes, blf));
                 end
             case "additiveSchwarzHighOrder"
                 if order == 1
-                    preconditioner = OptimalMLAdditiveSchwarz(P1JacobiSmoother(fes, blf, P));
+                    preconditioner = OptimalMLAdditiveSchwarz(P1JacobiCascade(fes, blf, P));
                 else
-                    preconditioner = OptimalMLAdditiveSchwarz(JacobiHighOrderCascadeSmoother(fes, blf, P));
+                    preconditioner = OptimalMLAdditiveSchwarz(JacobiHighOrderCascade(fes, blf, P));
                 end
             otherwise
                 error('No PCG variant %s!', variant)
@@ -53,15 +53,15 @@ switch class
         switch variant
             case {"", "lowOrderVcycle"}
                 if order == 1
-                    smoother = P1JacobiSmoother(fes, blf, P);
+                    smoother = P1JacobiCascade(fes, blf, P);
                 else
-                    smoother = JacobiLowOrderCascadeSmoother(fes, blf);
+                    smoother = JacobiLowOrderCascade(fes, blf);
                 end
             case "highOrderVcycle"
                 if order == 1
-                    smoother = P1JacobiSmoother(fes, blf, P);
+                    smoother = P1JacobiCascade(fes, blf, P);
                 else
-                    smoother = JacobiHighOrderCascadeSmoother(fes, blf, P);
+                    smoother = JacobiHighOrderCascade(fes, blf, P);
                 end
             otherwise
                 error('No multigrid variant %s!', variant)
diff --git a/lib/solvers/smoothers/JacobiHighOrderCascadeSmoother.m b/lib/solvers/smoothers/JacobiHighOrderCascade.m
similarity index 93%
rename from lib/solvers/smoothers/JacobiHighOrderCascadeSmoother.m
rename to lib/solvers/smoothers/JacobiHighOrderCascade.m
index 793261b86d04ada5761991f725058557e73274cf..d58ab6995e87d15155a6a8aac5e58fe7a68779a2 100644
--- a/lib/solvers/smoothers/JacobiHighOrderCascadeSmoother.m
+++ b/lib/solvers/smoothers/JacobiHighOrderCascade.m
@@ -1,4 +1,4 @@
-% JacobiHighOrderCascadeSmoother (subclass of MultilevelSmoother) multilevel
+% JacobiHighOrderCascade (subclass of MultilevelSmoother) multilevel
 %   Jacobi smoother for higher order finite elements: smooth locally with
 %   patchwise stiffness matrix on changed patches on every level, except for
 %   coarsest level, where global p1-solving is done. Because of the lifting from
@@ -11,7 +11,7 @@
 % See also: MultilevelSmoother, OptimalVcycleMultigridSolver
 
 
-classdef JacobiHighOrderCascadeSmoother < MultilevelSmoother
+classdef JacobiHighOrderCascade < MultilevelSmoother
     properties (Access=protected)
         P
         loFes
@@ -24,7 +24,7 @@ classdef JacobiHighOrderCascadeSmoother < MultilevelSmoother
 
     %% methods
     methods (Access=public)
-        function obj = JacobiHighOrderCascadeSmoother(fes, blf, P)
+        function obj = JacobiHighOrderCascade(fes, blf, P)
             obj = obj@MultilevelSmoother(fes, blf);
             
             assert(fes.finiteElement.order > 1, ...
diff --git a/lib/solvers/smoothers/JacobiLowOrderCascadeSmoother.m b/lib/solvers/smoothers/JacobiLowOrderCascade.m
similarity index 94%
rename from lib/solvers/smoothers/JacobiLowOrderCascadeSmoother.m
rename to lib/solvers/smoothers/JacobiLowOrderCascade.m
index 10541f2f7db960a80826b9f75230c74d7172f3e8..b0b9e5545ee9e79ae3e8420dedf94b822bca81f3 100644
--- a/lib/solvers/smoothers/JacobiLowOrderCascadeSmoother.m
+++ b/lib/solvers/smoothers/JacobiLowOrderCascade.m
@@ -1,4 +1,4 @@
-% JacobiLowOrderCascadeSmoother (subclass of MultilevelSmoother) multilevel
+% JacobiLowOrderCascade (subclass of MultilevelSmoother) multilevel
 %   Jacobi smoother for higher order finite elements: smooth locally with
 %   diagonal of P1 stiffness matrix on changed patches on every level, except
 %   for finest level, where global patchwise higher order smoothing is done.
@@ -9,7 +9,7 @@
 % See also: MultilevelSmoother, OptimalVcycleMultigridSolver
 
 
-classdef JacobiLowOrderCascadeSmoother < MultilevelSmoother
+classdef JacobiLowOrderCascade < MultilevelSmoother
     properties (Access=protected)
         P
         loFes
@@ -23,7 +23,7 @@ classdef JacobiLowOrderCascadeSmoother < MultilevelSmoother
 
     %% methods
     methods (Access=public)
-        function obj = JacobiLowOrderCascadeSmoother(fes, blf)
+        function obj = JacobiLowOrderCascade(fes, blf)
             obj = obj@MultilevelSmoother(fes, blf);
             
             assert(fes.finiteElement.order > 1, ...
diff --git a/lib/solvers/smoothers/P1JacobiSmoother.m b/lib/solvers/smoothers/P1JacobiCascade.m
similarity index 91%
rename from lib/solvers/smoothers/P1JacobiSmoother.m
rename to lib/solvers/smoothers/P1JacobiCascade.m
index 655775703440f743f4f8955cf87d771461e328e5..93d15999bc92e42a7ebcb05955c717d93cdd4844 100644
--- a/lib/solvers/smoothers/P1JacobiSmoother.m
+++ b/lib/solvers/smoothers/P1JacobiCascade.m
@@ -1,11 +1,11 @@
-% P1JacobiSmoother (subclass of MultilevelSmoother) multilevel Jacobi smoother
+% P1JacobiCascade (subclass of MultilevelSmoother) multilevel Jacobi smoother
 %   for lowest order finite elements: smooth with diagonal of stiffness matrix
 %   on changed patches on every level.
 %
 % See also: MultilevelSmoother, OptimalVcycleMultigridSolver
 
 
-classdef P1JacobiSmoother < MultilevelSmoother
+classdef P1JacobiCascade < MultilevelSmoother
     properties (Access=protected)
         P
         inverseDiagonal
@@ -21,7 +21,7 @@ classdef P1JacobiSmoother < MultilevelSmoother
 
     %% methods
     methods (Access=public)
-        function obj = P1JacobiSmoother(fes, blf, P)
+        function obj = P1JacobiCascade(fes, blf, P)
             arguments
                 fes
                 blf