diff --git a/core/config/solver_config.hpp b/core/config/solver_config.hpp
index f2c3c5291b2..5c6b3ad66f2 100644
--- a/core/config/solver_config.hpp
+++ b/core/config/solver_config.hpp
@@ -28,12 +28,12 @@ inline void common_solver_configure(SolverFactory& params, const pnode& config,
     }
     if (auto& obj = config.get("criteria")) {
         params.with_criteria(
-            gko::config::build_or_get_factory_vector<
+            gko::config::parse_or_get_factory_vector<
                 const stop::CriterionFactory>(obj, context, td_for_child));
     }
     if (auto& obj = config.get("preconditioner")) {
         params.with_preconditioner(
-            gko::config::build_or_get_factory<const LinOpFactory>(
+            gko::config::parse_or_get_factory<const LinOpFactory>(
                 obj, context, td_for_child));
     }
 }
diff --git a/core/solver/direct.cpp b/core/solver/direct.cpp
index 68d9252a194..c1e547f1708 100644
--- a/core/solver/direct.cpp
+++ b/core/solver/direct.cpp
@@ -33,7 +33,7 @@ Direct<ValueType, IndexType>::parse(const config::pnode& config,
     }
     if (auto& obj = config.get("factorization")) {
         factory.with_factorization(
-            gko::config::build_or_get_factory<const LinOpFactory>(
+            gko::config::parse_or_get_factory<const LinOpFactory>(
                 obj, context, td_for_child));
     }
     return factory;
diff --git a/core/solver/ir.cpp b/core/solver/ir.cpp
index 36d529cf2ee..2f7302b9d33 100644
--- a/core/solver/ir.cpp
+++ b/core/solver/ir.cpp
@@ -38,12 +38,12 @@ typename Ir<ValueType>::parameters_type Ir<ValueType>::parse(
     auto factory = solver::Ir<ValueType>::build();
     if (auto& obj = config.get("criteria")) {
         factory.with_criteria(
-            gko::config::build_or_get_factory_vector<
+            gko::config::parse_or_get_factory_vector<
                 const stop::CriterionFactory>(obj, context, td_for_child));
     }
     if (auto& obj = config.get("solver")) {
         factory.with_solver(
-            gko::config::build_or_get_factory<const LinOpFactory>(
+            gko::config::parse_or_get_factory<const LinOpFactory>(
                 obj, context, td_for_child));
     }
     if (auto& obj = config.get("generated_solver")) {
diff --git a/include/ginkgo/core/solver/bicg.hpp b/include/ginkgo/core/solver/bicg.hpp
index f8285e80533..a69228b185c 100644
--- a/include/ginkgo/core/solver/bicg.hpp
+++ b/include/ginkgo/core/solver/bicg.hpp
@@ -84,7 +84,7 @@ class Bicg
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/bicgstab.hpp b/include/ginkgo/core/solver/bicgstab.hpp
index 93477c6a29d..95cbdfcb320 100644
--- a/include/ginkgo/core/solver/bicgstab.hpp
+++ b/include/ginkgo/core/solver/bicgstab.hpp
@@ -82,7 +82,7 @@ class Bicgstab
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/cb_gmres.hpp b/include/ginkgo/core/solver/cb_gmres.hpp
index 933085acd44..21c66e8956b 100644
--- a/include/ginkgo/core/solver/cb_gmres.hpp
+++ b/include/ginkgo/core/solver/cb_gmres.hpp
@@ -149,7 +149,7 @@ class CbGmres : public EnableLinOp<CbGmres<ValueType>>,
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/cg.hpp b/include/ginkgo/core/solver/cg.hpp
index 981adc0675c..58f1faca7e8 100644
--- a/include/ginkgo/core/solver/cg.hpp
+++ b/include/ginkgo/core/solver/cg.hpp
@@ -78,7 +78,7 @@ class Cg : public EnableLinOp<Cg<ValueType>>,
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/cgs.hpp b/include/ginkgo/core/solver/cgs.hpp
index 5ddf2539784..e5ccdf17315 100644
--- a/include/ginkgo/core/solver/cgs.hpp
+++ b/include/ginkgo/core/solver/cgs.hpp
@@ -75,7 +75,7 @@ class Cgs
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/direct.hpp b/include/ginkgo/core/solver/direct.hpp
index 781903f5337..99832766aca 100644
--- a/include/ginkgo/core/solver/direct.hpp
+++ b/include/ginkgo/core/solver/direct.hpp
@@ -69,7 +69,7 @@ class Direct : public EnableLinOp<Direct<ValueType, IndexType>>,
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/fcg.hpp b/include/ginkgo/core/solver/fcg.hpp
index 9056cb6b623..b6eabec4397 100644
--- a/include/ginkgo/core/solver/fcg.hpp
+++ b/include/ginkgo/core/solver/fcg.hpp
@@ -83,7 +83,7 @@ class Fcg
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/gcr.hpp b/include/ginkgo/core/solver/gcr.hpp
index 393886ec827..cb8fa4574fa 100644
--- a/include/ginkgo/core/solver/gcr.hpp
+++ b/include/ginkgo/core/solver/gcr.hpp
@@ -95,7 +95,7 @@ class Gcr
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/gmres.hpp b/include/ginkgo/core/solver/gmres.hpp
index 8146fb52db4..f7ba5ce0691 100644
--- a/include/ginkgo/core/solver/gmres.hpp
+++ b/include/ginkgo/core/solver/gmres.hpp
@@ -100,7 +100,7 @@ class Gmres
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/idr.hpp b/include/ginkgo/core/solver/idr.hpp
index 58ec1ba7e67..fd2e91a5824 100644
--- a/include/ginkgo/core/solver/idr.hpp
+++ b/include/ginkgo/core/solver/idr.hpp
@@ -198,7 +198,7 @@ class Idr
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/ir.hpp b/include/ginkgo/core/solver/ir.hpp
index 6db7e8fa455..3a352c3c8bb 100644
--- a/include/ginkgo/core/solver/ir.hpp
+++ b/include/ginkgo/core/solver/ir.hpp
@@ -186,7 +186,7 @@ class Ir : public EnableLinOp<Ir<ValueType>>,
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
diff --git a/include/ginkgo/core/solver/triangular.hpp b/include/ginkgo/core/solver/triangular.hpp
index 24ed9ee03a6..234a89024d9 100644
--- a/include/ginkgo/core/solver/triangular.hpp
+++ b/include/ginkgo/core/solver/triangular.hpp
@@ -110,7 +110,7 @@ class LowerTrs : public EnableLinOp<LowerTrs<ValueType, IndexType>>,
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *
@@ -278,7 +278,7 @@ class UpperTrs : public EnableLinOp<UpperTrs<ValueType, IndexType>>,
 
     /**
      * Create the parameters from the property_tree.
-     * Because this is directly tied to the specific type. The value/index type
+     * Because this is directly tied to the specific type, the value/index type
      * settings within config are ignored and type_descriptor is only used
      * for children objects.
      *