diff --git a/src/one-body-problem-data/mygeometry.hh b/src/one-body-problem-data/mygeometry.hh
index 720a5bf3b30b959ea1b50f0585b088a7a8fd2ef9..dbfa722ad47e92a1ba04ef8ed3fd932d86d4f36e 100644
--- a/src/one-body-problem-data/mygeometry.hh
+++ b/src/one-body-problem-data/mygeometry.hh
@@ -11,24 +11,6 @@ namespace {
   using LocalMatrix2D = Dune::FieldMatrix<double, 2, 2>;
 
   using LocalVector = Dune::FieldVector<double, MY_DIM>;
-
-  // kludge because fieldvectors have no initialiser_list constructor, see
-  // https://dune-project.org/flyspray/index.php?do=details&task_id=1166
-  LocalVector2D createVector(double x, double y) {
-    LocalVector2D ret(0);
-    ret[0] = x;
-    ret[1] = y;
-    return ret;
-  }
-
-  LocalMatrix2D createMatrix(double a11, double a12, double a21, double a22) {
-    LocalMatrix2D ret(0);
-    ret[0][0] = a11;
-    ret[0][1] = a12;
-    ret[1][0] = a21;
-    ret[1][1] = a22;
-    return ret;
-  }
 }
 
 namespace reference {
@@ -42,33 +24,31 @@ namespace reference {
 
   double const zDistance = 0.35;
 
-  LocalVector2D const A = createVector(0, 0);
-  LocalVector2D const B = createVector(leftLeg, -rightLeg);
-  LocalVector2D const C = createVector(leftLeg, 0);
+  LocalVector2D const A = {0, 0};
+  LocalVector2D const B = {leftLeg, -rightLeg};
+  LocalVector2D const C = {leftLeg, 0};
 
-  LocalVector2D const Z = createVector(zDistance * s, 0);
-  LocalVector2D const Y =
-      createVector(zDistance * s, -zDistance *s / leftLeg * rightLeg);
-  LocalVector2D const X = createVector(Y[0] - weakLen * std::cos(leftAngle),
-                                       Y[1] + weakLen * std::sin(leftAngle));
+  LocalVector2D const Z = {zDistance * s, 0};
+  LocalVector2D const Y = {zDistance * s, -zDistance *s / leftLeg *rightLeg};
+  LocalVector2D const X = {Y[0] - weakLen * std::cos(leftAngle),
+                           Y[1] + weakLen *std::sin(leftAngle)};
 
-  LocalVector2D const U = createVector(X[0], 0);
+  LocalVector2D const U = {X[0], 0};
 
-  LocalVector2D const K =
-      createVector(B[0] - leftLeg * viscoHeight / rightLeg, B[1] + viscoHeight);
-  LocalVector2D const M = createVector(B[0], B[1] + viscoHeight);
+  LocalVector2D const K = {B[0] - leftLeg * viscoHeight / rightLeg,
+                           B[1] + viscoHeight};
+  LocalVector2D const M = {B[0], B[1] + viscoHeight};
 
   LocalVector2D const G = midPoint(A, X);
   LocalVector2D const H = midPoint(X, Y);
   LocalVector2D const J = midPoint(Y, B);
 
-  LocalVector2D const I = createVector(Y[0] + G[0], Y[1] + G[1]);
+  LocalVector2D const I = {Y[0] + G[0], Y[1] + G[1]};
 
-  LocalVector2D const zenith = createVector(0, 1);
+  LocalVector2D const zenith = {0, 1};
 
-  LocalMatrix2D const rotation =
-      createMatrix(std::cos(leftAngle), -std::sin(leftAngle),
-                   std::sin(leftAngle), std::cos(leftAngle));
+  LocalMatrix2D const rotation = {{std::cos(leftAngle), -std::sin(leftAngle)},
+                                  {std::sin(leftAngle), std::cos(leftAngle)}};
 }
 
 namespace {