diff --git a/src/gpu/GridGenerator/grid/GridInterface.cpp b/src/gpu/GridGenerator/grid/GridInterface.cpp
index 11c4509720fce31fa82243a90ee20ecbcd8f6771..9194f12824e2a95b4880647586eeba70be9984b1 100644
--- a/src/gpu/GridGenerator/grid/GridInterface.cpp
+++ b/src/gpu/GridGenerator/grid/GridInterface.cpp
@@ -40,6 +40,9 @@
 #include "grid/Field.h"
 #include "grid/NodeValues.h"
 
+#include "lbm/constants/D3Q27.h"
+
+using namespace vf::lbm;
 using namespace vf::gpu;
 
 GridInterface::GridInterface()
@@ -373,7 +376,7 @@ uint GridInterface::findOffsetCF(const uint& indexOnCoarseGrid, GridImp* coarseG
     Cell cell(x, y, z, coarseGrid->getDelta());
 
     if( coarseGrid->cellContainsOnly( cell, FLUID, FLUID_CFC ) ){
-        this->cf.offset[ interfaceIndex ] = REST;
+        this->cf.offset[ interfaceIndex ] = dir::REST;
         return indexOnCoarseGrid;
     }
 
@@ -408,7 +411,7 @@ uint GridInterface::findOffsetFC(const uint& indexOnFineGrid, GridImp* fineGrid,
     Cell cell(x, y, z, fineGrid->getDelta());
 
     if( fineGrid->cellContainsOnly( cell, FLUID, FLUID_FCF ) ){
-        this->fc.offset[ interfaceIndex ] = REST;
+        this->fc.offset[ interfaceIndex ] = dir::REST;
         return indexOnFineGrid;
     }
 
diff --git a/src/gpu/GridGenerator/grid/distributions/D3Q27.h b/src/gpu/GridGenerator/grid/distributions/D3Q27.h
index b62bf0daa9290e97dd1aa1c0e9a073bcb7f99aa1..4ef041a13678516f116c13c9b9996d6f378ef854 100644
--- a/src/gpu/GridGenerator/grid/distributions/D3Q27.h
+++ b/src/gpu/GridGenerator/grid/distributions/D3Q27.h
@@ -33,43 +33,6 @@
 #ifndef D3Q27_H_
 #define D3Q27_H_
 
-static constexpr int STARTDIR = 0;
-static constexpr int ENDDIR = 26;
-
-static constexpr int E = 0;
-static constexpr int W = 1;
-static constexpr int N = 2;
-static constexpr int S = 3;
-static constexpr int T = 4;
-static constexpr int B = 5;
-								  
-static constexpr int NE = 6;
-static constexpr int SW = 7;
-static constexpr int SE = 8;
-static constexpr int NW = 9;
-static constexpr int TE = 10;
-static constexpr int BW = 11;
-static constexpr int BE = 12;
-static constexpr int TW = 13;
-static constexpr int TN = 14;
-static constexpr int BS = 15;
-static constexpr int BN = 16;
-static constexpr int TS = 17;
-
-static constexpr int  TNE  = 18;
-static constexpr int  TNW  = 19;
-static constexpr int  TSE  = 20;
-static constexpr int  TSW  = 21;
-static constexpr int  BNE  = 22;
-static constexpr int  BNW  = 23;
-static constexpr int  BSE  = 24;
-static constexpr int  BSW  = 25;
-								  
-static constexpr int REST = 26;
-
-
-
-
 #define DIR_27_E_X  1
 #define DIR_27_E_Y  0
 #define DIR_27_E_Z  0
diff --git a/src/gpu/GridGenerator/grid/distributions/Distribution.cpp b/src/gpu/GridGenerator/grid/distributions/Distribution.cpp
index 783cdd8bef26d299860b6225e5173a1b5c11f7c3..8192c114413dfdf32492717b57870cadd35130cb 100644
--- a/src/gpu/GridGenerator/grid/distributions/Distribution.cpp
+++ b/src/gpu/GridGenerator/grid/distributions/Distribution.cpp
@@ -35,8 +35,9 @@
 #include <stdio.h>
 
 #include "grid/distributions/D3Q27.h"
-
+#include "lbm/constants/D3Q27.h"
 #include "grid/Grid.h"
+using namespace vf::lbm::dir;
 
 Distribution DistributionHelper::getDistribution27() 
 {
diff --git a/src/gpu/GridGenerator/grid/distributions/DistributionTest.cpp b/src/gpu/GridGenerator/grid/distributions/DistributionTest.cpp
index 95c2ad258c6e2c4ce9217ceaeca36fc3dfc1ed03..86b2f3b5139482d2be92788ea646cea1069a6052 100644
--- a/src/gpu/GridGenerator/grid/distributions/DistributionTest.cpp
+++ b/src/gpu/GridGenerator/grid/distributions/DistributionTest.cpp
@@ -3,6 +3,8 @@
 # include "Distribution.h"
 
 #include "grid/distributions/D3Q27.h"
+#include "lbm/constants/D3Q27.h"
+using namespace vf::lbm::dir;
 
 TEST(DistributionTest, DistributionReturnsCorrectDirections)
 {