diff --git a/example/Grid/0_simple/main.cpp b/example/Grid/0_simple/main.cpp
index f62c77104a5b094baa5d1c01868063f275893f40..375ca2a1dd280a5ec9170f6d1b21cb00e335e0e1 100644
--- a/example/Grid/0_simple/main.cpp
+++ b/example/Grid/0_simple/main.cpp
@@ -1,5 +1,4 @@
 #include "Grid/grid_dist_id.hpp"
-#include "data_type/aggregate.hpp"
 
 /*! \page grid Grid
  *
diff --git a/openfpm_devices b/openfpm_devices
index 435be1727f99bbadb1dc027e1e756cea16b0d6cd..bf4ede95e9e8b2ff6f19525a79d76f0aebf1fa4a 160000
--- a/openfpm_devices
+++ b/openfpm_devices
@@ -1 +1 @@
-Subproject commit 435be1727f99bbadb1dc027e1e756cea16b0d6cd
+Subproject commit bf4ede95e9e8b2ff6f19525a79d76f0aebf1fa4a
diff --git a/src/Grid/cuda/grid_dist_id_iterator_gpu.cuh b/src/Grid/cuda/grid_dist_id_iterator_gpu.cuh
index 124080f6031bacba7b8ee3a967b2a80ac82f7349..447c3bb221a9717a28bbc28ee1fb0976827190ec 100644
--- a/src/Grid/cuda/grid_dist_id_iterator_gpu.cuh
+++ b/src/Grid/cuda/grid_dist_id_iterator_gpu.cuh
@@ -12,6 +12,7 @@
 #include "Grid/Iterators/grid_dist_id_iterator.hpp"
 #include "Grid/grid_dist_util.hpp"
 #include "Grid/Iterators/grid_dist_id_iterator_util.hpp"
+#include "Grid/cuda/grid_dist_id_kernels.cuh"
 
 /*! \brief Given the decomposition it create an iterator
  *
diff --git a/src/main.cpp b/src/main.cpp
index b57aa899e5cf81adcf0d92822f0b1dc9a2e902c2..6cc1b53d1a1962b951135df513013f8e59f9e2b6 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,4 +1,5 @@
 #include <iostream>
+#include <thread>
 
 size_t debug_tot_call = 0;
 
@@ -11,6 +12,15 @@ size_t debug_tot_call = 0;
 #define NO_WARNING
 #include "Graph/CartesianGraphFactory.hpp"
 
+void timeout_cycle()
+{
+	// 6 seconds
+	std::this_thread::sleep_for (std::chrono::seconds(900));
+
+	std::cout << "Time Out" << std::endl;
+	std::exit(1);
+}
+
 #define BOOST_DISABLE_ASSERTS
 
 
@@ -23,10 +33,12 @@ size_t debug_tot_call = 0;
 // initialization function:
 bool init_unit_test()
 {
+  std::thread to (timeout_cycle);
+  to.detach();
   return true;
 }
 
-// entry point:
+// entry point
 int main(int argc, char* argv[])
 {
   return boost::unit_test::unit_test_main( &init_unit_test, argc, argv );