diff --git a/CMakeLists.txt b/CMakeLists.txt
index c717308d510772e6da29e68b18488fab6c9e20ea..89ad084d8195568564182e841373c55592a6d2f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -171,7 +171,6 @@ if(UG_ENABLE_PARALLEL)
 endif()
 add_subdirectory(dev)
 add_subdirectory(dune)
-add_subdirectory(gm)
 add_subdirectory(np)
 add_subdirectory(ui)
 add_subdirectory(cmake/modules)
diff --git a/dune/uggrid/CMakeLists.txt b/dune/uggrid/CMakeLists.txt
index 479a89a5a896227bdbc14df778a15b000a3a1247..fada1079a0bc82d5f6e59310df9cf83d729b5d75 100644
--- a/dune/uggrid/CMakeLists.txt
+++ b/dune/uggrid/CMakeLists.txt
@@ -1,4 +1,5 @@
 add_subdirectory(domain)
+add_subdirectory(gm)
 add_subdirectory(lib)
 add_subdirectory(low)
 add_subdirectory(parallel)
diff --git a/dune/uggrid/domain/std_domain.cc b/dune/uggrid/domain/std_domain.cc
index b3dd166b995c32a6ef464c51e6569637d0316036..eb109f032d5506e6504d69eaf152659398441acd 100644
--- a/dune/uggrid/domain/std_domain.cc
+++ b/dune/uggrid/domain/std_domain.cc
@@ -66,7 +66,7 @@
 #include <dune/uggrid/low/ugenv.h>
 #include <dune/uggrid/low/ugtypes.h>
 
-#include <gm/evm.h>
+#include <dune/uggrid/gm/evm.h>
 
 /* dev modules */
 #include <dev/ugdevices.h>
diff --git a/gm/2Dversion b/dune/uggrid/gm/2Dversion
similarity index 100%
rename from gm/2Dversion
rename to dune/uggrid/gm/2Dversion
diff --git a/gm/3Dversion b/dune/uggrid/gm/3Dversion
similarity index 100%
rename from gm/3Dversion
rename to dune/uggrid/gm/3Dversion
diff --git a/gm/CMakeLists.txt b/dune/uggrid/gm/CMakeLists.txt
similarity index 100%
rename from gm/CMakeLists.txt
rename to dune/uggrid/gm/CMakeLists.txt
diff --git a/gm/GenerateRules.cc b/dune/uggrid/gm/GenerateRules.cc
similarity index 100%
rename from gm/GenerateRules.cc
rename to dune/uggrid/gm/GenerateRules.cc
diff --git a/gm/GenerateRules.h b/dune/uggrid/gm/GenerateRules.h
similarity index 100%
rename from gm/GenerateRules.h
rename to dune/uggrid/gm/GenerateRules.h
diff --git a/gm/RefRules.cc b/dune/uggrid/gm/RefRules.cc
similarity index 100%
rename from gm/RefRules.cc
rename to dune/uggrid/gm/RefRules.cc
diff --git a/gm/algebra.cc b/dune/uggrid/gm/algebra.cc
similarity index 100%
rename from gm/algebra.cc
rename to dune/uggrid/gm/algebra.cc
diff --git a/gm/algebra.h b/dune/uggrid/gm/algebra.h
similarity index 100%
rename from gm/algebra.h
rename to dune/uggrid/gm/algebra.h
diff --git a/gm/cw.cc b/dune/uggrid/gm/cw.cc
similarity index 100%
rename from gm/cw.cc
rename to dune/uggrid/gm/cw.cc
diff --git a/gm/cw.h b/dune/uggrid/gm/cw.h
similarity index 100%
rename from gm/cw.h
rename to dune/uggrid/gm/cw.h
diff --git a/gm/dlmgr.cc b/dune/uggrid/gm/dlmgr.cc
similarity index 100%
rename from gm/dlmgr.cc
rename to dune/uggrid/gm/dlmgr.cc
diff --git a/gm/dlmgr.h b/dune/uggrid/gm/dlmgr.h
similarity index 100%
rename from gm/dlmgr.h
rename to dune/uggrid/gm/dlmgr.h
diff --git a/gm/dlmgr.t b/dune/uggrid/gm/dlmgr.t
similarity index 100%
rename from gm/dlmgr.t
rename to dune/uggrid/gm/dlmgr.t
diff --git a/gm/elements.cc b/dune/uggrid/gm/elements.cc
similarity index 100%
rename from gm/elements.cc
rename to dune/uggrid/gm/elements.cc
diff --git a/gm/elements.h b/dune/uggrid/gm/elements.h
similarity index 100%
rename from gm/elements.h
rename to dune/uggrid/gm/elements.h
diff --git a/gm/enrol.cc b/dune/uggrid/gm/enrol.cc
similarity index 100%
rename from gm/enrol.cc
rename to dune/uggrid/gm/enrol.cc
diff --git a/gm/enrol.h b/dune/uggrid/gm/enrol.h
similarity index 100%
rename from gm/enrol.h
rename to dune/uggrid/gm/enrol.h
diff --git a/gm/er.cc b/dune/uggrid/gm/er.cc
similarity index 100%
rename from gm/er.cc
rename to dune/uggrid/gm/er.cc
diff --git a/gm/er.h b/dune/uggrid/gm/er.h
similarity index 100%
rename from gm/er.h
rename to dune/uggrid/gm/er.h
diff --git a/gm/evalproc.cc b/dune/uggrid/gm/evalproc.cc
similarity index 100%
rename from gm/evalproc.cc
rename to dune/uggrid/gm/evalproc.cc
diff --git a/gm/evm.cc b/dune/uggrid/gm/evm.cc
similarity index 100%
rename from gm/evm.cc
rename to dune/uggrid/gm/evm.cc
diff --git a/gm/evm.h b/dune/uggrid/gm/evm.h
similarity index 100%
rename from gm/evm.h
rename to dune/uggrid/gm/evm.h
diff --git a/gm/gm.doc b/dune/uggrid/gm/gm.doc
similarity index 100%
rename from gm/gm.doc
rename to dune/uggrid/gm/gm.doc
diff --git a/gm/gm.h b/dune/uggrid/gm/gm.h
similarity index 100%
rename from gm/gm.h
rename to dune/uggrid/gm/gm.h
diff --git a/gm/gmcheck.cc b/dune/uggrid/gm/gmcheck.cc
similarity index 100%
rename from gm/gmcheck.cc
rename to dune/uggrid/gm/gmcheck.cc
diff --git a/gm/initgm.cc b/dune/uggrid/gm/initgm.cc
similarity index 100%
rename from gm/initgm.cc
rename to dune/uggrid/gm/initgm.cc
diff --git a/gm/initgm.h b/dune/uggrid/gm/initgm.h
similarity index 100%
rename from gm/initgm.h
rename to dune/uggrid/gm/initgm.h
diff --git a/gm/mgheapmgr.cc b/dune/uggrid/gm/mgheapmgr.cc
similarity index 100%
rename from gm/mgheapmgr.cc
rename to dune/uggrid/gm/mgheapmgr.cc
diff --git a/gm/mgheapmgr.h b/dune/uggrid/gm/mgheapmgr.h
similarity index 100%
rename from gm/mgheapmgr.h
rename to dune/uggrid/gm/mgheapmgr.h
diff --git a/gm/mgio.cc b/dune/uggrid/gm/mgio.cc
similarity index 100%
rename from gm/mgio.cc
rename to dune/uggrid/gm/mgio.cc
diff --git a/gm/mgio.h b/dune/uggrid/gm/mgio.h
similarity index 100%
rename from gm/mgio.h
rename to dune/uggrid/gm/mgio.h
diff --git a/gm/pargm.h b/dune/uggrid/gm/pargm.h
similarity index 100%
rename from gm/pargm.h
rename to dune/uggrid/gm/pargm.h
diff --git a/gm/refine.cc b/dune/uggrid/gm/refine.cc
similarity index 100%
rename from gm/refine.cc
rename to dune/uggrid/gm/refine.cc
diff --git a/gm/refine.h b/dune/uggrid/gm/refine.h
similarity index 100%
rename from gm/refine.h
rename to dune/uggrid/gm/refine.h
diff --git a/gm/rm-show.cc b/dune/uggrid/gm/rm-show.cc
similarity index 91%
rename from gm/rm-show.cc
rename to dune/uggrid/gm/rm-show.cc
index 9dcf692ae3d87f09292e216d70f369798e80e337..ac5853517781df81d53f2c78a19a197155401b37 100644
--- a/gm/rm-show.cc
+++ b/dune/uggrid/gm/rm-show.cc
@@ -8,10 +8,10 @@
 #include <dune/uggrid/low/namespace.h>
 #include <dune/uggrid/low/initlow.h>
 #include <dev/ugdevices.h>
-#include <gm/initgm.h>
-#include <gm/rm.h>
+#include <dune/uggrid/gm/initgm.h>
+#include <dune/uggrid/gm/rm.h>
 
-#include <gm/rm-write2file.h>
+#include <dune/uggrid/gm/rm-write2file.h>
 
 int main(int argc, char** argv)
 {
diff --git a/gm/rm-tetrahedron-rules-test.cc b/dune/uggrid/gm/rm-tetrahedron-rules-test.cc
similarity index 100%
rename from gm/rm-tetrahedron-rules-test.cc
rename to dune/uggrid/gm/rm-tetrahedron-rules-test.cc
diff --git a/gm/rm-write2file.cc b/dune/uggrid/gm/rm-write2file.cc
similarity index 99%
rename from gm/rm-write2file.cc
rename to dune/uggrid/gm/rm-write2file.cc
index 347f6d7919e0971d5e1919041b594cf1f88ebc78..4db1112dcd810809791822c9dd4ab749ce8a5943 100644
--- a/gm/rm-write2file.cc
+++ b/dune/uggrid/gm/rm-write2file.cc
@@ -2,7 +2,7 @@
 
 #include <dune/common/exceptions.hh>
 
-#include "gm/rm-write2file.h"
+#include "rm-write2file.h"
 
 #ifdef __THREEDIM__
 static NS_DIM_PREFIX REFRULE Empty_Rule =
@@ -87,7 +87,7 @@ int WriteSonData(std::FILE* const stream, NS_DIM_PREFIX sondata const& son)
 
   // corners
   num_chars += writeArray(stream, son.corners, MAX_CORNERS_OF_ELEM_DIM);
-  num_chars += fprintf( stream,"},{"); 
+  num_chars += fprintf( stream,"},{");
 
   // nb
   num_chars += writeArray(stream, son.nb, MAX_SIDES_OF_ELEM_DIM);
@@ -126,7 +126,7 @@ void WriteRule2File(std::FILE* const stream, NS_DIM_PREFIX REFRULE const& theRul
   {
     char0 += fprintf( stream,"{%d,%d},",theRule.sonandnode[i][0],theRule.sonandnode[i][1]);
     // new line after 6 sons
-    if( (i%6) ==0 && i !=0) 
+    if( (i%6) ==0 && i !=0)
     {
       // comment
       if (!alreadyCommented)
@@ -151,7 +151,7 @@ void WriteRule2File(std::FILE* const stream, NS_DIM_PREFIX REFRULE const& theRul
     {
       fprintf( stream,"%*s// sons", comment_row - char0, " ");
       alreadyCommented = !alreadyCommented;
-    } 
+    }
     fprintf( stream,"\n    ");
   }
 
diff --git a/gm/rm-write2file.h b/dune/uggrid/gm/rm-write2file.h
similarity index 93%
rename from gm/rm-write2file.h
rename to dune/uggrid/gm/rm-write2file.h
index c7f23225950a2e30b5c97c032127625878384a91..fa15b02c8211ffda8ff04379df2ae2a809ced7d9 100644
--- a/gm/rm-write2file.h
+++ b/dune/uggrid/gm/rm-write2file.h
@@ -17,9 +17,9 @@
 #include <iterator>
 
 #include <dev/ugdevices.h>
-#include "gm/gm.h"
-#include "gm/rm.h"
-#include "gm/evm.h"
+#include "gm.h"
+#include "rm.h"
+#include "evm.h"
 
 #define TET_RULE_FATHER_SIDE_OFFSET 20
 
diff --git a/gm/rm-writeRefRules2file.cc b/dune/uggrid/gm/rm-writeRefRules2file.cc
similarity index 96%
rename from gm/rm-writeRefRules2file.cc
rename to dune/uggrid/gm/rm-writeRefRules2file.cc
index 6eb2a19bf76be77c29751706c2064633768ca276..b6e0b4c97424e4c485ac9c3862bf2d04ff0e8ce9 100644
--- a/gm/rm-writeRefRules2file.cc
+++ b/dune/uggrid/gm/rm-writeRefRules2file.cc
@@ -8,7 +8,7 @@
 
 #include <dune/uggrid/low/namespace.h>
 
-#include <gm/rm-write2file.h>
+#include <dune/uggrid/gm/rm-write2file.h>
 
 #include <iostream>
 #include <memory>
diff --git a/gm/rm.cc b/dune/uggrid/gm/rm.cc
similarity index 100%
rename from gm/rm.cc
rename to dune/uggrid/gm/rm.cc
diff --git a/gm/rm.h b/dune/uggrid/gm/rm.h
similarity index 100%
rename from gm/rm.h
rename to dune/uggrid/gm/rm.h
diff --git a/gm/shapes.cc b/dune/uggrid/gm/shapes.cc
similarity index 100%
rename from gm/shapes.cc
rename to dune/uggrid/gm/shapes.cc
diff --git a/gm/shapes.h b/dune/uggrid/gm/shapes.h
similarity index 100%
rename from gm/shapes.h
rename to dune/uggrid/gm/shapes.h
diff --git a/gm/ugio.cc b/dune/uggrid/gm/ugio.cc
similarity index 100%
rename from gm/ugio.cc
rename to dune/uggrid/gm/ugio.cc
diff --git a/gm/ugio.h b/dune/uggrid/gm/ugio.h
similarity index 100%
rename from gm/ugio.h
rename to dune/uggrid/gm/ugio.h
diff --git a/gm/ugm.cc b/dune/uggrid/gm/ugm.cc
similarity index 100%
rename from gm/ugm.cc
rename to dune/uggrid/gm/ugm.cc
diff --git a/gm/ugm.h b/dune/uggrid/gm/ugm.h
similarity index 100%
rename from gm/ugm.h
rename to dune/uggrid/gm/ugm.h
diff --git a/initug.cc b/initug.cc
index 162ec0203439c6931ba0dd4813d53874ca7ef77e..3eaf3974931d6ded5d9250e01e11a103de13bdd0 100644
--- a/initug.cc
+++ b/initug.cc
@@ -64,7 +64,7 @@ using namespace PPIF;
 #include <dune/uggrid/domain/domain.h>
 
 /* grid manager module */
-#include <gm/initgm.h>
+#include <dune/uggrid/gm/initgm.h>
 
 /* numerics module */
 #include <np/initnumerics.h>
diff --git a/np/np.h b/np/np.h
index 53a6dffed67e95ca7783c913cad791478f49ef71..c717ecc8fb3bcddb9765640ed6da6f0b07f41f1f 100644
--- a/np/np.h
+++ b/np/np.h
@@ -32,8 +32,8 @@
 #ifndef __NP__
 #define __NP__
 
-#include <gm/algebra.h>
-#include <gm/gm.h>
+#include <dune/uggrid/gm/algebra.h>
+#include <dune/uggrid/gm/gm.h>
 #include <dune/uggrid/low/namespace.h>
 #include <dune/uggrid/low/ugenv.h>
 #include <dune/uggrid/low/ugtypes.h>
diff --git a/np/udm/disctools.cc b/np/udm/disctools.cc
index 40ccfd76cb30c6c49a09f9c756072144d210a72c..08cd07c773c3caf2bbbed408cdcee156b3eced72 100644
--- a/np/udm/disctools.cc
+++ b/np/udm/disctools.cc
@@ -35,8 +35,8 @@
 #include <cstring>
 #include <cassert>
 
-#include <gm/evm.h>      /* for data structure               */
-#include <gm/gm.h>       /* for data structure               */
+#include <dune/uggrid/gm/evm.h>      /* for data structure               */
+#include <dune/uggrid/gm/gm.h>       /* for data structure               */
 #include <dev/ugdevices.h>
 #include <dune/uggrid/low/general.h>
 
diff --git a/np/udm/disctools.h b/np/udm/disctools.h
index a6f4c39764a03039eab8c0ce283f2d192e35c33c..222b6cc15c9e531f959668623271280d042c486a 100644
--- a/np/udm/disctools.h
+++ b/np/udm/disctools.h
@@ -28,7 +28,7 @@
 #ifndef __DISCTOOLS__
 #define __DISCTOOLS__
 
-#include <gm/gm.h>
+#include <dune/uggrid/gm/gm.h>
 #include <dune/uggrid/low/namespace.h>
 #include <dune/uggrid/low/ugtypes.h>
 #include <np/np.h>
diff --git a/np/udm/formats.cc b/np/udm/formats.cc
index ac9a8f9a63cb7aeaa4badb48fa2691e3507338f9..54053be8cda9db1f9889b50e59114356d2f3e881 100644
--- a/np/udm/formats.cc
+++ b/np/udm/formats.cc
@@ -34,10 +34,10 @@
 #include <ctype.h>
 
 #include <dev/ugdevices.h>
-#include <gm/algebra.h>
-#include <gm/enrol.h>
-#include <gm/gm.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/algebra.h>
+#include <dune/uggrid/gm/enrol.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dune/uggrid/low/misc.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/scan.h> // for ReadArgvChar
diff --git a/np/udm/formats.h b/np/udm/formats.h
index fb92a4a475bb518d8a19987c05c6d54b3cce647a..f61552e00d9659daeb15a7792a25b074d89b7595 100644
--- a/np/udm/formats.h
+++ b/np/udm/formats.h
@@ -32,7 +32,7 @@
 #ifndef __FORMATS__
 #define __FORMATS__
 
-#include <gm/gm.h>
+#include <dune/uggrid/gm/gm.h>
 #include <dune/uggrid/low/namespace.h>
 #include "udm.h"
 
diff --git a/np/udm/udm.cc b/np/udm/udm.cc
index 85c1e9ce46f29da6081a98d071676f8e213e2fd4..89f8174ab109e276b362f963e7f771112c7bf522 100644
--- a/np/udm/udm.cc
+++ b/np/udm/udm.cc
@@ -33,8 +33,8 @@
 #include <cstring>
 
 #include <dev/ugdevices.h>
-#include <gm/gm.h>
-#include <gm/rm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/rm.h>
 #include <dune/uggrid/low/architecture.h>
 #include <dune/uggrid/low/debug.h>
 #include <dune/uggrid/low/general.h>
diff --git a/np/udm/udm.h b/np/udm/udm.h
index ac9f0955bca33e40d2399c844305d3014782069a..72375aaa5a3c93e49d01aa25a808c2ba10243a5a 100644
--- a/np/udm/udm.h
+++ b/np/udm/udm.h
@@ -32,7 +32,7 @@
 #ifndef __UDM__
 #define __UDM__
 
-#include <gm/gm.h>
+#include <dune/uggrid/gm/gm.h>
 #include <dune/uggrid/low/namespace.h>
 #include <dune/uggrid/low/ugtypes.h>
 #include <np/algebra/sm.h>
diff --git a/parallel/dddif/debugger.cc b/parallel/dddif/debugger.cc
index 1d9752ee3ad93479d9293fbf45bffaff5ff9dfe1..68003786dd989bfc7a061701c2a07a984ac31cba 100644
--- a/parallel/dddif/debugger.cc
+++ b/parallel/dddif/debugger.cc
@@ -10,7 +10,7 @@
 
 #include "parallel.h"
 #include "memmgr.h"
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dev/ugdevices.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/namespace.h>
diff --git a/parallel/dddif/gridcons.cc b/parallel/dddif/gridcons.cc
index ffccbc5565d94fab37cd66cf9b7e68bfc2ac50c8..f12616f28c6948b0d9ccdc0e8836897e2248307e 100644
--- a/parallel/dddif/gridcons.cc
+++ b/parallel/dddif/gridcons.cc
@@ -35,11 +35,11 @@
 #include <dune/uggrid/low/debug.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/namespace.h>
-#include <gm/evm.h>
-#include <gm/gm.h>
-#include <gm/refine.h>
-#include <gm/shapes.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/refine.h>
+#include <dune/uggrid/gm/shapes.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dev/ugdevices.h>
 
 /* UG namespaces: */
diff --git a/parallel/dddif/handler.cc b/parallel/dddif/handler.cc
index 54c17c399d0f32a8488e96b47bdb7b5294f1f91f..c040fe4cebd96f8d8b88cb26ef9665038976127c 100644
--- a/parallel/dddif/handler.cc
+++ b/parallel/dddif/handler.cc
@@ -43,13 +43,13 @@
 #include <dev/ugdevices.h>
 #include <dune/uggrid/domain/domain.h>
 #include "parallel.h"
-#include <gm/algebra.h>
-#include <gm/evm.h>
-#include <gm/pargm.h>
-#include <gm/rm.h>
-#include <gm/refine.h>
-#include <gm/shapes.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/algebra.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/pargm.h>
+#include <dune/uggrid/gm/rm.h>
+#include <dune/uggrid/gm/refine.h>
+#include <dune/uggrid/gm/shapes.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dune/uggrid/low/architecture.h>
 #include <dune/uggrid/low/debug.h>
 #include <dune/uggrid/low/heaps.h>
diff --git a/parallel/dddif/identify.cc b/parallel/dddif/identify.cc
index e95eb585eae8bf5c20f4e12a359bd8ab7d99ff95..e531c6e91dd469c60789f1207f9e7dd959b1aeab 100644
--- a/parallel/dddif/identify.cc
+++ b/parallel/dddif/identify.cc
@@ -36,10 +36,10 @@
 
 #include <dev/ugdevices.h>
 
-#include <gm/gm.h>
-#include <gm/refine.h>
-#include <gm/rm.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/refine.h>
+#include <dune/uggrid/gm/rm.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dune/uggrid/low/debug.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/ugtypes.h>
diff --git a/parallel/dddif/initddd.cc b/parallel/dddif/initddd.cc
index 6f3785d5546e2c19318846010bc07be47cdad624..d75bac1a09764c23a280fbab3bee4aa7c1f2a7be 100644
--- a/parallel/dddif/initddd.cc
+++ b/parallel/dddif/initddd.cc
@@ -35,7 +35,7 @@
 #include <dune/uggrid/low/debug.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/namespace.h>
-#include <gm/ugm.h>      /* for GetFreeOBJT() */
+#include <dune/uggrid/gm/ugm.h>      /* for GetFreeOBJT() */
 #include "memmgr.h"
 #include <dev/ugdevices.h>
 
diff --git a/parallel/dddif/lb.cc b/parallel/dddif/lb.cc
index 34c58462011d38ac6343380f4d392b6966d736c5..4f798dc00b68026bf36c2449e2fa64ec158f8d2a 100644
--- a/parallel/dddif/lb.cc
+++ b/parallel/dddif/lb.cc
@@ -33,8 +33,8 @@
 #include <cstdio>
 
 #include "parallel.h"
-#include <gm/evm.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dev/ugdevices.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/namespace.h>
diff --git a/parallel/dddif/lbrcb.cc b/parallel/dddif/lbrcb.cc
index 0f43f3004b1df41f3fd194040e6185a44ca56382..1973ab3fb8462a5e5380e3a6009a2bfea8fd1431 100644
--- a/parallel/dddif/lbrcb.cc
+++ b/parallel/dddif/lbrcb.cc
@@ -41,8 +41,8 @@
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/namespace.h>
 #include <dev/ugdevices.h>
-#include <gm/evm.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/ugm.h>
 
 USING_UG_NAMESPACES
 using namespace PPIF;
diff --git a/parallel/dddif/memmgr.cc b/parallel/dddif/memmgr.cc
index 1a264b520fa66bd8480c5bd6464a2204cc373afa..9060a718447ad6e73f79c92f543b430e9a0680c7 100644
--- a/parallel/dddif/memmgr.cc
+++ b/parallel/dddif/memmgr.cc
@@ -43,7 +43,7 @@
 
 #include "parallel.h"
 
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/ugm.h>
 #include "memmgr.h"
 
 /* UG namespaces */
diff --git a/parallel/dddif/overlap.cc b/parallel/dddif/overlap.cc
index fd76efac652289022e26a3f58f25627f422bf8f6..045dd51d4586e37be1da8cbb781295bdfaeb6f29 100644
--- a/parallel/dddif/overlap.cc
+++ b/parallel/dddif/overlap.cc
@@ -46,13 +46,13 @@
 #include <dev/ugdevices.h>
 
 /* gm module */
-#include <gm/algebra.h>
-#include <gm/evm.h>
-#include <gm/gm.h>
-#include <gm/pargm.h>
-#include <gm/refine.h>
-#include <gm/rm.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/algebra.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/pargm.h>
+#include <dune/uggrid/gm/refine.h>
+#include <dune/uggrid/gm/rm.h>
+#include <dune/uggrid/gm/ugm.h>
 
 /* parallel modules */
 #include <parallel/ddd/include/ddd.h>
diff --git a/parallel/dddif/parallel.h b/parallel/dddif/parallel.h
index a64541822f73ad0179de0c0855dc30914eacbb83..154fd106ff50800ddcaadc371d5c4ffaae485677 100644
--- a/parallel/dddif/parallel.h
+++ b/parallel/dddif/parallel.h
@@ -45,8 +45,8 @@
 #include <parallel/ddd/include/ddd.h>
 #endif
 
-#include <gm/gm.h>
-#include <gm/pargm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/pargm.h>
 
 START_UGDIM_NAMESPACE
 
diff --git a/parallel/dddif/partition.cc b/parallel/dddif/partition.cc
index 78a4cfadec6a9f49694258876c18b53bee6b539e..93e116a5938176ae711d3fd19a02c15c9ee86ff2 100644
--- a/parallel/dddif/partition.cc
+++ b/parallel/dddif/partition.cc
@@ -47,13 +47,13 @@
 #include <dev/ugdevices.h>
 
 /* gm module */
-#include <gm/algebra.h>
-#include <gm/evm.h>
-#include <gm/gm.h>
-#include <gm/pargm.h>
-#include <gm/refine.h>
-#include <gm/rm.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/algebra.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/pargm.h>
+#include <dune/uggrid/gm/refine.h>
+#include <dune/uggrid/gm/rm.h>
+#include <dune/uggrid/gm/ugm.h>
 
 /* parallel modules */
 #include <parallel/ddd/include/ddd.h>
diff --git a/parallel/dddif/pgmcheck.cc b/parallel/dddif/pgmcheck.cc
index 558c30bf5117d605f9a0a5bdccc1d63deb98916d..d9eef2f78d537f4f355f1c48e3d9f06ef7211686 100644
--- a/parallel/dddif/pgmcheck.cc
+++ b/parallel/dddif/pgmcheck.cc
@@ -36,11 +36,11 @@
 
 #include "parallel.h"
 #include <dev/ugdevices.h>
-#include <gm/evm.h>
-#include <gm/gm.h>
-#include <gm/refine.h>
-#include <gm/shapes.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/refine.h>
+#include <dune/uggrid/gm/shapes.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dune/uggrid/low/debug.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/namespace.h>
diff --git a/parallel/dddif/priority.cc b/parallel/dddif/priority.cc
index 5a94712837a9c12eb1a2218bf0eeb03d1936e757..8afbc730fa48ee1efd14eef676f399adbfa071ef 100644
--- a/parallel/dddif/priority.cc
+++ b/parallel/dddif/priority.cc
@@ -34,11 +34,11 @@
 
 #include "parallel.h"
 #include <dev/ugdevices.h>
-#include <gm/evm.h>
-#include <gm/gm.h>
-#include <gm/refine.h>
-#include <gm/shapes.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/refine.h>
+#include <dune/uggrid/gm/shapes.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dune/uggrid/low/debug.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/namespace.h>
diff --git a/parallel/dddif/support.cc b/parallel/dddif/support.cc
index 5f73ec8e99bc9c8e354efa689a84be8c7ceb8994..33d0eb01fc183afc9705b06bbd4874931a588920 100644
--- a/parallel/dddif/support.cc
+++ b/parallel/dddif/support.cc
@@ -48,7 +48,7 @@
 #include <dune/uggrid/low/ugtypes.h>
 #include <parallel/ddd/include/memmgr.h>
 
-#include <gm/pargm.h>
+#include <dune/uggrid/gm/pargm.h>
 
 
 /* UG namespaces: */
diff --git a/parallel/dddif/trans.cc b/parallel/dddif/trans.cc
index 5516cc9150fcec67d0e77c25c376546924c3fe98..d8632b0d2b4858e0bfcfab172b082572021f3b37 100644
--- a/parallel/dddif/trans.cc
+++ b/parallel/dddif/trans.cc
@@ -39,12 +39,12 @@
 #include "parallel.h"
 #include <dev/ugdevices.h>
 #include <dune/uggrid/domain/domain.h>
-#include <gm/algebra.h>
-#include <gm/evm.h>
-#include <gm/gm.h>
-#include <gm/mgheapmgr.h>
-#include <gm/refine.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/algebra.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/mgheapmgr.h>
+#include <dune/uggrid/gm/refine.h>
+#include <dune/uggrid/gm/ugm.h>
 #include <dune/uggrid/low/debug.h>
 #include <dune/uggrid/low/general.h>
 #include <dune/uggrid/low/namespace.h>
diff --git a/ui/commands.cc b/ui/commands.cc
index 542d6351d9613fc7e5746ecbdcb42d28e24274d0..74faed0d3b233a5205ee597b488242e121675c23 100644
--- a/ui/commands.cc
+++ b/ui/commands.cc
@@ -65,16 +65,16 @@
 #include <dev/ugdevices.h>
 
 /* grid manager module */
-#include <gm/algebra.h>
-#include <gm/cw.h>
-#include <gm/elements.h>
-#include <gm/evm.h>
-#include <gm/gm.h>
-#include <gm/mgio.h>
-#include <gm/pargm.h>
-#include <gm/rm.h>
-#include <gm/shapes.h>
-#include <gm/ugm.h>
+#include <dune/uggrid/gm/algebra.h>
+#include <dune/uggrid/gm/cw.h>
+#include <dune/uggrid/gm/elements.h>
+#include <dune/uggrid/gm/evm.h>
+#include <dune/uggrid/gm/gm.h>
+#include <dune/uggrid/gm/mgio.h>
+#include <dune/uggrid/gm/pargm.h>
+#include <dune/uggrid/gm/rm.h>
+#include <dune/uggrid/gm/shapes.h>
+#include <dune/uggrid/gm/ugm.h>
 
 /* numerics module */
 #include <np/np.h>
diff --git a/ui/commands.h b/ui/commands.h
index 4c27e8bb9b6cdf2ba4053832e72c98c62d71c31a..6e38860e3295b572c424f135233e7b31510c156d 100644
--- a/ui/commands.h
+++ b/ui/commands.h
@@ -35,7 +35,7 @@
 
 #include <dune/uggrid/parallel/ppif/ppiftypes.hh>
 
-#include <gm/gm.h>
+#include <dune/uggrid/gm/gm.h>
 #include <dune/uggrid/low/namespace.h>
 #include <dune/uggrid/low/ugtypes.h>