diff --git a/Event.h b/Event.h
index 8a4f7dcae8b808a67cec2c38451fa7e05b6c6c31..4047f87422a1496c40ceffd4962903cf1a903e81 100644
--- a/Event.h
+++ b/Event.h
@@ -2,7 +2,7 @@
 
 #include <string>
 #include <vector>
-#include <map>
+// #include <map>
 #include <chrono>
 #include "Jikan.h"
 
diff --git a/Jikan.h b/Jikan.h
index a50985484e65fd81076020d8c022ecdd1aae4c6b..2c085941bed0b1edc7b9e4f99c8916e81b4a5403 100644
--- a/Jikan.h
+++ b/Jikan.h
@@ -2,7 +2,7 @@
 
 //------------------------- Jikan-config ---------------------------------------------
 #define TIMER_ON
-// #define INCLUDE_GPU_TIMER
+#define INCLUDE_GPU_TIMER
 #define INCLUDE_MPI
 // #define INCLUDE_OPEN_MP
 // #define SAVE_TIME_SERIES
diff --git a/JikanDepths.cpp b/JikanDepths.cpp
index c4e5fb1197e33a55136c30e920e5c22133c83014..c08b5e10c997499644e1480a201380b91b817ee4 100644
--- a/JikanDepths.cpp
+++ b/JikanDepths.cpp
@@ -3,7 +3,7 @@
 #include "ToJSON.h"
 
 #include <iostream>
-#include <map>
+// #include <map>
 #include <string>
 
 #ifdef INCLUDE_OPEN_MP
@@ -86,7 +86,7 @@ Jikan::~Jikan()
     #endif
         this->Events.clear();
         
-        map<string, set<string> >::iterator it;
+        unordered_map<string, set<string> >::iterator it;
 
         for(it = this->EventType.begin(); it!=this->EventType.end(); ++it)
             it->second.clear();
@@ -99,7 +99,7 @@ Jikan::~Jikan()
 
 bool Jikan::ifContains(const string& Name)
 {
-    map<string, EventData>::iterator it;
+    unordered_map<string, EventData>::iterator it;
 
     it = this->Events.find(Name);
     if (it == this->Events.end())
@@ -287,20 +287,25 @@ void Jikan::GenerateTypedOutputData(const string& EventType, string& EventTypeSt
 
 void Jikan::GenerateOutputData()
 {
-    map<string, set<string> >::iterator it;
-    map<string, set<string> >::iterator end_m = this->EventType.end();
-    --end_m;
+    unordered_map<string, set<string> >::iterator it;
+    unordered_map<string, set<string> >::iterator end_m; // = this->EventType.end();
+    // end_m--;
 
     string Name;
     string Out = "{ ";
     string TypedOutput;
 
-    for(it = this->EventType.begin(); it!=end_m; ++it)
+    for(it = this->EventType.begin(); it!=this->EventType.end(); ++it)
     {    
-        Name = it->first;
-        TypedOutput = "";
-        this->GenerateTypedOutputData(Name, TypedOutput);
-        Out += TypedOutput + ",\n";
+        if(next(it) != this->EventType.end())
+        {
+            Name = it->first;
+            TypedOutput = "";
+            this->GenerateTypedOutputData(Name, TypedOutput);
+            Out += TypedOutput + ",\n";
+        }
+        else
+            end_m = it;
     }
 
     Name = end_m->first;
diff --git a/JikanDepths.cu b/JikanDepths.cu
index c8f518a2905b0af585a50df0a228141ae5c90087..883606a78fc3802ebe7b90547beecf264703787c 100644
--- a/JikanDepths.cu
+++ b/JikanDepths.cu
@@ -41,4 +41,5 @@ void Jikan::CUDAGetTime(const string& name, const int cont_mode_t)
             (this->Events)[name].ContiniousTime = 0.0;
         }
     #endif
-}
\ No newline at end of file
+}
+#endif
\ No newline at end of file
diff --git a/JikanDepths.h b/JikanDepths.h
index d12e2597c974c24d04d11282ca2fb858390e5088..2a288b70bd36a8eea185914dee672e53d1c37d90 100644
--- a/JikanDepths.h
+++ b/JikanDepths.h
@@ -6,6 +6,7 @@
 #include <iostream>
 #include <string>
 #include <set>
+#include <unordered_map>
 
 #ifdef INCLUDE_MPI
     #include <mpi.h>
@@ -14,8 +15,8 @@
 class Jikan
 {
 public:
-    std::map<std::string, EventData> Events;   // Measuring code blocks info: string = code block name ID, EventData = measuring code block data
-    std::map<std::string, std::set<std::string> > EventType; // Code blocks measurment types: synchronious or ansynchronious 
+    std::unordered_map<std::string, EventData> Events;   // Measuring code blocks info: string = code block name ID, EventData = measuring code block data
+    std::unordered_map<std::string, std::set<std::string> > EventType; // Code blocks measurment types: synchronious or ansynchronious 
     std::string JSONname; // Measurments dump filename
     std::string JSONdata; // Dump string
     std::string Error;    // Dump error ?