diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc
index decf7257b01400c7fa0152bd05ec8c86d1315680..c53ef0be50ae6d6c577511f3897a08d54f26d7ca 100644
--- a/src/harmonicmaps.cc
+++ b/src/harmonicmaps.cc
@@ -106,23 +106,27 @@ int main (int argc, char *argv[]) try
     const bool instrumented               = parameterSet.get<bool>("instrumented");
     std::string resultPath                = parameterSet.get("resultPath", "");
 
-    // read problem settings
-    std::string path                = parameterSet.get<std::string>("path");
-    std::string gridFile            = parameterSet.get<std::string>("gridFile");
-
     // ///////////////////////////////////////
     //    Create the grid
     // ///////////////////////////////////////
     typedef std::conditional<dim==1,OneDGrid,UGGrid<dim> >::type GridType;
 
     shared_ptr<GridType> gridPtr;
-    if (parameterSet.get<std::string>("gridType")=="structured") {
-        array<unsigned int,dim> elements;
-        elements.fill(3);
-        gridPtr = StructuredGridFactory<GridType>::createSimplexGrid(FieldVector<double,dim>(0),
-                                                                     FieldVector<double,dim>(1),
-                                                                     elements);
+    FieldVector<double,dim> lower(0), upper(1);
+
+    if (parameterSet.get<bool>("structuredGrid")) {
+
+        lower = parameterSet.get<FieldVector<double,dim> >("lower");
+        upper = parameterSet.get<FieldVector<double,dim> >("upper");
+
+        array<unsigned int,dim> elements = parameterSet.get<array<unsigned int,dim> >("elements");
+        gridPtr = StructuredGridFactory<GridType>::createCubeGrid(lower, upper, elements);
+
     } else {
+
+        std::string path                = parameterSet.get<std::string>("path");
+        std::string gridFile            = parameterSet.get<std::string>("gridFile");
+
         gridPtr = shared_ptr<GridType>(AmiraMeshReader<GridType>::read(path + gridFile));
     }
 
diff --git a/src/harmonicmaps.parset b/src/harmonicmaps.parset
index 358c0ed0e4cf2d8e6ef925d509c3f7ef2f4ecb46..52ffe12d0c79e5ca060ef5498a8f717d5fce88da 100644
--- a/src/harmonicmaps.parset
+++ b/src/harmonicmaps.parset
@@ -39,11 +39,16 @@ instrumented = 0
 ############################
 
 # 2d problem
-#gridType = unstructured
+#structuredGrid = false
 #path = /home/sander/data/richards/twosquares/
 #gridFile = twosquares0.grid
 
 # 3d problem
-gridType = unstructured
-path = /home/sander/data/contact/tetracubes/
-gridFile = tetracube0.grid
+#structuredGrid = false
+#path = /home/sander/data/contact/tetracubes/
+#gridFile = tetracube0.grid
+
+structuredGrid = true
+lower = -10 -10
+upper =  10  10
+elements = 100 100