diff --git a/NumLib/ODESolver/TimeDiscretizationBuilder.cpp b/NumLib/ODESolver/TimeDiscretizationBuilder.cpp
index 5fede6cd8277082db2324eb77d337de815cf86ce..f07187b6ca603b2845956af53478c398b89defb8 100644
--- a/NumLib/ODESolver/TimeDiscretizationBuilder.cpp
+++ b/NumLib/ODESolver/TimeDiscretizationBuilder.cpp
@@ -16,36 +16,32 @@ namespace NumLib
 std::unique_ptr<TimeDiscretization> createTimeDiscretization(
     BaseLib::ConfigTree const& config)
 {
-    using T = std::unique_ptr<TimeDiscretization>;
-
     //! \ogs_file_param{prj__time_loop__processes__process__time_discretization__type}
     auto const type = config.getConfigParameter<std::string>("type");
 
     if (type == "BackwardEuler")
     {
         //! \ogs_file_param_special{prj__time_loop__processes__process__time_discretization__BackwardEuler}
-        using ConcreteTD = BackwardEuler;
-        return T(new ConcreteTD);
+        return std::make_unique<BackwardEuler>();
     }
     else if (type == "ForwardEuler")
     {
         //! \ogs_file_param_special{prj__time_loop__processes__process__time_discretization__ForwardEuler}
-        using ConcreteTD = ForwardEuler;
-        return T(new ConcreteTD);
+        return std::make_unique<ForwardEuler>();
     }
     else if (type == "CrankNicolson")
     {
         //! \ogs_file_param{prj__time_loop__processes__process__time_discretization__CrankNicolson__theta}
         auto const theta = config.getConfigParameter<double>("theta");
-        using ConcreteTD = CrankNicolson;
-        return T(new ConcreteTD(theta));
+        //! \ogs_file_param_special{prj__time_loop__processes__process__time_discretization__CrankNicolson}
+        return std::make_unique<CrankNicolson>(theta);
     }
     else if (type == "BackwardDifferentiationFormula")
     {
         //! \ogs_file_param{prj__time_loop__processes__process__time_discretization__BackwardDifferentiationFormula__order}
         auto const order = config.getConfigParameter<unsigned>("order");
-        using ConcreteTD = BackwardDifferentiationFormula;
-        return T(new ConcreteTD(order));
+        //! \ogs_file_param_special{prj__time_loop__processes__process__time_discretization__BackwardDifferentiationFormula}
+        return std::make_unique<BackwardDifferentiationFormula>(order);
     }
     else
     {