diff --git a/src/main.cpp b/src/main.cpp
index 941ed40e6348569a9952a5f8d5a1f36b038425fd..68e082619a81c1a70c12f4a133e27eaf6dafcffa 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,5 +1,5 @@
 #include <iostream>
-#include <Kokkos_Core.hpp>
+#include <PastisUtils.hpp>
 #include <RevisionInfo.hpp>
 #include <rang.hpp>
 #include <FPEManager.hpp>
@@ -14,6 +14,8 @@
 
 #include <VTKWriter.hpp>
 
+#include <Timer.hpp>
+
 #include <TinyVector.hpp>
 #include <TinyMatrix.hpp>
 
@@ -95,7 +97,7 @@ int main(int argc, char *argv[])
   try  {
     if (filename != "") {
       std::cout << "Reading (gmsh) " << rang::style::underline << filename << rang::style::reset << " ...\n";
-      Kokkos::Timer gmsh_timer;
+      Timer gmsh_timer;
       gmsh_timer.reset();
       GmshReader gmsh_reader(filename);
       method_cost_map["Mesh building"] = gmsh_timer.seconds();
@@ -122,7 +124,7 @@ int main(int argc, char *argv[])
 
           const MeshType& mesh = dynamic_cast<const MeshType&>(*gmsh_reader.mesh());
 
-          Kokkos::Timer timer;
+          Timer timer;
           timer.reset();
           MeshDataType mesh_data(mesh);
 
@@ -231,7 +233,7 @@ int main(int argc, char *argv[])
 
           const MeshType& mesh = dynamic_cast<const MeshType&>(*gmsh_reader.mesh());
 
-          Kokkos::Timer timer;
+          Timer timer;
           timer.reset();
           MeshDataType mesh_data(mesh);
 
@@ -327,7 +329,7 @@ int main(int argc, char *argv[])
 
           const MeshType& mesh = dynamic_cast<const MeshType&>(*gmsh_reader.mesh());
 
-          Kokkos::Timer timer;
+          Timer timer;
           timer.reset();
           MeshDataType mesh_data(mesh);
 
diff --git a/src/utils/Timer.hpp b/src/utils/Timer.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..44d4a0c51868a9c7d877c6e3be74082d118918fb
--- /dev/null
+++ b/src/utils/Timer.hpp
@@ -0,0 +1,8 @@
+#ifndef TIMER_HPP
+#define TIMER_HPP
+
+#include <Kokkos_Timer.hpp>
+
+using Timer = Kokkos::Timer;
+
+#endif // TIMER_HPP