diff --git a/src/TNL/Solvers/PDE/PDESolver.h b/src/TNL/Solvers/PDE/PDESolver.h
index eafbf437076e62296cffae1b97d305a1913a0610..a4f47ef51c8e6472c8d4807254c98db8cdc5f661 100644
--- a/src/TNL/Solvers/PDE/PDESolver.h
+++ b/src/TNL/Solvers/PDE/PDESolver.h
@@ -87,7 +87,7 @@ class PDESolver : public Object
 
       DofVectorPointer dofsPointer;
 
-      MeshDependentDataPointer meshDependentData;
+      MeshDependentDataPointer meshDependentDataPointer;
 
       TimeStepper* timeStepper;
 
diff --git a/src/TNL/Solvers/PDE/PDESolver_impl.h b/src/TNL/Solvers/PDE/PDESolver_impl.h
index 4edfadabdd889947d4be8648d02426337990d19e..139d8fcc95169bd2938eb2ba9397b51425b962d4 100644
--- a/src/TNL/Solvers/PDE/PDESolver_impl.h
+++ b/src/TNL/Solvers/PDE/PDESolver_impl.h
@@ -95,15 +95,15 @@ setup( const Config::ParameterContainer& parameters,
    /****
     * Set mesh dependent data
     */
-   this->problem->setMeshDependentData( this->meshPointer, this->meshDependentData );
-   this->problem->bindMeshDependentData( this->meshPointer, this->meshDependentData );
+   this->problem->setMeshDependentData( this->meshPointer, this->meshDependentDataPointer );
+   this->problem->bindMeshDependentData( this->meshPointer, this->meshDependentDataPointer );
    
    /***
     * Set-up the initial condition
     */
   std::cout << "Setting up the initial condition ... ";
    typedef typename Problem :: DofVectorType DofVectorType;
-   if( ! this->problem->setInitialCondition( parameters, meshPointer, this->dofsPointer, this->meshDependentData ) )
+   if( ! this->problem->setInitialCondition( parameters, meshPointer, this->dofsPointer, this->meshDependentDataPointer ) )
       return false;
   std::cout << " [ OK ]" << std::endl;
 
@@ -337,7 +337,7 @@ solve()
    this->computeTimer->reset();
  
    this->ioTimer->start();
-   if( ! this->problem->makeSnapshot( t, step, meshPointer, this->dofsPointer, this->meshDependentData ) )
+   if( ! this->problem->makeSnapshot( t, step, meshPointer, this->dofsPointer, this->meshDependentDataPointer ) )
    {
       std::cerr << "Making the snapshot failed." << std::endl;
       return false;
@@ -355,14 +355,14 @@ solve()
    {
       RealType tau = min( this->snapshotPeriod,
                           this->finalTime - t );
-      if( ! this->timeStepper->solve( t, t + tau, this->meshPointer, this->dofsPointer, this->meshDependentData ) )
+      if( ! this->timeStepper->solve( t, t + tau, this->meshPointer, this->dofsPointer, this->meshDependentDataPointer ) )
          return false;
       step ++;
       t += tau;
 
       this->ioTimer->start();
       this->computeTimer->stop();
-      if( ! this->problem->makeSnapshot( t, step, this->meshPointer, this->dofsPointer, this->meshDependentData ) )
+      if( ! this->problem->makeSnapshot( t, step, this->meshPointer, this->dofsPointer, this->meshDependentDataPointer ) )
       {
          std::cerr << "Making the snapshot failed." << std::endl;
          return false;
diff --git a/src/Tools/tnl-quickstart/problem.h.in b/src/Tools/tnl-quickstart/problem.h.in
index def92930e372d2a7ad22349f85d9e88f2e47584b..1fe1a433ad66f88b8e35ca0fd6522b8304517ad3 100644
--- a/src/Tools/tnl-quickstart/problem.h.in
+++ b/src/Tools/tnl-quickstart/problem.h.in
@@ -29,6 +29,7 @@ class {problemBaseName}Problem:
       using typename BaseType::DofVectorType;
       using typename BaseType::DofVectorPointer;
       using typename BaseType::MeshDependentDataType;
+      using typename BaseType::MeshDependentDataPointer;
 
 
       static TNL::String getTypeStatic();
@@ -46,7 +47,7 @@ class {problemBaseName}Problem:
       bool setInitialCondition( const TNL::Config::ParameterContainer& parameters,
                                 const MeshPointer& mesh,
                                 DofVectorPointer& dofs,
-                                MeshDependentDataType& meshDependentData );
+                                MeshDependentDataPointer& meshDependentData );
 
       template< typename MatrixPointer >
       bool setupLinearSystem( const MeshPointer& mesh,
@@ -56,7 +57,7 @@ class {problemBaseName}Problem:
                          const IndexType& step,
                          const MeshPointer& mesh,
                          DofVectorPointer& dofs,
-                         MeshDependentDataType& meshDependentData );
+                         MeshDependentDataPointer& meshDependentData );
 
       IndexType getDofs( const MeshPointer& mesh ) const;
 
@@ -68,7 +69,7 @@ class {problemBaseName}Problem:
                            const MeshPointer& mesh,
                            DofVectorPointer& _u,
                            DofVectorPointer& _fu,
-                           MeshDependentDataType& meshDependentData );
+                           MeshDependentDataPointer& meshDependentData );
 
       template< typename MatrixPointer >
       void assemblyLinearSystem( const RealType& time,
@@ -77,7 +78,7 @@ class {problemBaseName}Problem:
                                  DofVectorPointer& dofs,
                                  MatrixPointer& matrixPointer,
                                  DofVectorPointer& rightHandSide,
-                                 MeshDependentDataType& meshDependentData );
+                                 MeshDependentDataPointer& meshDependentData );
 
    protected:
     
diff --git a/src/Tools/tnl-quickstart/problem_impl.h.in b/src/Tools/tnl-quickstart/problem_impl.h.in
index 0a495676127f6e5a5f85402ebc7c994d19c79c36..ab1c3440b5b8df73deb97d3c2905c3e2c59d598f 100644
--- a/src/Tools/tnl-quickstart/problem_impl.h.in
+++ b/src/Tools/tnl-quickstart/problem_impl.h.in
@@ -94,7 +94,7 @@ bool
 setInitialCondition( const TNL::Config::ParameterContainer& parameters,    
                      const MeshPointer& mesh,
                      DofVectorPointer& dofs,
-                     MeshDependentDataType& meshDependentData )
+                     MeshDependentDataPointer& meshDependentData )
 {{
    const TNL::String& initialConditionFile = parameters.getParameter< TNL::String >( "initial-condition" );
    TNL::Functions::MeshFunction< Mesh > u( mesh, dofs );
@@ -142,7 +142,7 @@ makeSnapshot( const RealType& time,
               const IndexType& step,
               const MeshPointer& mesh,
               DofVectorPointer& dofs,
-              MeshDependentDataType& meshDependentData )
+              MeshDependentDataPointer& meshDependentData )
 {{
    std::cout << std::endl << "Writing output at time " << time << " step " << step << "." << std::endl;
    this->bindDofs( mesh, dofs );
@@ -166,10 +166,10 @@ getExplicitRHS( const RealType& time,
                 const MeshPointer& mesh,
                 DofVectorPointer& _u,
                 DofVectorPointer& _fu,
-                MeshDependentDataType& meshDependentData )
+                MeshDependentDataPointer& meshDependentData )
 {{
    /****
-    * If you use an explicit solver like tnlEulerSolver or tnlMersonSolver, you
+    * If you use an explicit solver like EulerSolver or MersonSolver, you
     * need to implement this method. Compute the right-hand side of
     *
     *   d/dt u(x) = fu( x, u )
@@ -208,7 +208,7 @@ assemblyLinearSystem( const RealType& time,
                       DofVectorPointer& _u,
                       MatrixPointer& matrixPointer,
                       DofVectorPointer& b,
-                      MeshDependentDataType& meshDependentData )
+                      MeshDependentDataPointer& meshDependentData )
 {{
    TNL::Solvers::PDE::LinearSystemAssembler< Mesh,
                              MeshFunctionType,