diff --git a/src/Benchmarks/Traversers/WriteOne.h b/src/Benchmarks/Traversers/WriteOne.h
index 9fd269f1091940bc0e418486306fdd22973e7c70..4c39926aa80ffb96d1870e460ede625ce5bc602e 100644
--- a/src/Benchmarks/Traversers/WriteOne.h
+++ b/src/Benchmarks/Traversers/WriteOne.h
@@ -44,7 +44,6 @@ class WriteOne< 1, Device, Real, Index >
             data[ i ] = 1.0;
          };
          
-         
          ParallelFor< Device >::exec( ( std::size_t ) 0, size, writeOne, v.getData() );
       }
 };
@@ -61,7 +60,17 @@ class WriteOne< 2, Device, Real, Index >
       
       static void run( std::size_t size )
       {
+         Vector v( size * size );
+         auto writeOne = [=] __cuda_callable__ ( Index i, Index j,  Real* data )
+         {
+            data[ i * size + j ] = 1.0;
+         };
          
+         ParallelFor2D< Device >::exec( ( std::size_t ) 0,
+                                        ( std::size_t ) 0,
+                                        size,
+                                        size,
+                                        writeOne, v.getData() );         
       }
 };
 
@@ -76,7 +85,19 @@ class WriteOne< 3, Device, Real, Index >
       
       static void run( std::size_t size )
       {
+         Vector v( size * size * size );
+         auto writeOne = [=] __cuda_callable__ ( Index i, Index j, Index k, Real* data )
+         {
+            data[ ( i * size + j ) * size + k ] = 1.0;
+         };
          
+         ParallelFor3D< Device >::exec( ( std::size_t ) 0, 
+                                        ( std::size_t ) 0, 
+                                        ( std::size_t ) 0, 
+                                        size,
+                                        size,
+                                        size,
+                                        writeOne, v.getData() );         
       }
 };