diff --git a/src/assemblers_tmpl.cc b/src/assemblers_tmpl.cc
index 9d0d6d1b1cd70841d6a54b559a20d054b2d2239c..35cddb4a47c413fe367237e3c20c856394ffd2a2 100644
--- a/src/assemblers_tmpl.cc
+++ b/src/assemblers_tmpl.cc
@@ -2,24 +2,11 @@
 #error DIM unset
 #endif
 
-#include <dune/common/fmatrix.hh>
-#include <dune/common/fvector.hh>
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wignored-qualifiers"
-#include <dune/grid/alugrid.hh>
-#pragma clang diagnostic pop
-#include <dune/istl/bvector.hh>
-#include <dune/istl/bcrsmatrix.hh>
-
 #include <dune/fufem/functionspacebases/p1nodalbasis.hh>
 
-using SmallVector = Dune::FieldVector<double, DIM>;
-using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>;
-using Matrix = Dune::BCRSMatrix<SmallMatrix>;
-using Vector = Dune::BlockVector<SmallVector>;
+#include "explicitgrid.hh"
+#include "explicitvectors.hh"
 
-using Grid = Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming>;
-using GridView = Grid::LeafGridView;
 using P1Basis = P1NodalBasis<GridView, double>;
 using MyAssembler = Assembler<P1Basis, P1Basis>;
 
diff --git a/src/explicitgrid.hh b/src/explicitgrid.hh
new file mode 100644
index 0000000000000000000000000000000000000000..9100b3d3e831fa0a857cba08fb9206698c83ae73
--- /dev/null
+++ b/src/explicitgrid.hh
@@ -0,0 +1,7 @@
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wignored-qualifiers"
+#include <dune/grid/alugrid.hh>
+#pragma clang diagnostic pop
+
+using Grid = Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming>;
+using GridView = Grid::LeafGridView;
diff --git a/src/explicitvectors.hh b/src/explicitvectors.hh
new file mode 100644
index 0000000000000000000000000000000000000000..84ec9cf7f01dc621cb56dfaa14ebcdd967377a71
--- /dev/null
+++ b/src/explicitvectors.hh
@@ -0,0 +1,10 @@
+#include <dune/common/fmatrix.hh>
+#include <dune/common/fvector.hh>
+#include <dune/istl/bcrsmatrix.hh>
+#include <dune/istl/bvector.hh>
+
+using SmallVector = Dune::FieldVector<double, DIM>;
+using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>;
+using Vector = Dune::BlockVector<SmallVector>;
+using Matrix = Dune::BCRSMatrix<SmallMatrix>;
+using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>;
diff --git a/src/friction_writer_tmpl.cc b/src/friction_writer_tmpl.cc
index 4c9072416dce9757b9111773b7c58f84c2dfb360..dbeb7b8b8c5cabb9eda1639f0cd96ab4468aa34c 100644
--- a/src/friction_writer_tmpl.cc
+++ b/src/friction_writer_tmpl.cc
@@ -1,16 +1,15 @@
+#ifndef DIM
+#error DIM unset
+#endif
+
 #include <dune/common/bitsetvector.hh>
-#include <dune/istl/bvector.hh>
+
+#include "explicitvectors.hh"
 
 using BitVector = Dune::BitSetVector<1>;
-using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>;
-using Vector2 = Dune::BlockVector<Dune::FieldVector<double, 2>>;
-using Vector3 = Dune::BlockVector<Dune::FieldVector<double, 3>>;
 
 template class FrictionWriter<BitVector>;
 
 template void FrictionWriter<BitVector>::writeInfo(ScalarVector const &alpha,
-                                                   Vector2 const &u,
-                                                   Vector2 const &v);
-template void FrictionWriter<BitVector>::writeInfo(ScalarVector const &alpha,
-                                                   Vector3 const &u,
-                                                   Vector3 const &v);
+                                                   Vector const &u,
+                                                   Vector const &v);
diff --git a/src/solverfactory_tmpl.cc b/src/solverfactory_tmpl.cc
index 5d94c6606eb4878c2762df936a0f597639624bc8..7f394c0108de75b6450a4afbc4ec6e7f6324da97 100644
--- a/src/solverfactory_tmpl.cc
+++ b/src/solverfactory_tmpl.cc
@@ -2,30 +2,15 @@
 #error DIM unset
 #endif
 
-#include <dune/common/fmatrix.hh>
-#include <dune/common/fvector.hh>
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wignored-qualifiers"
-#include <dune/grid/alugrid.hh>
-#pragma clang diagnostic pop
-
-#include <dune/istl/bcrsmatrix.hh>
-#include <dune/istl/bvector.hh>
+#include "explicitgrid.hh"
+#include "explicitvectors.hh"
 
 #include <dune/tnnmg/nonlinearities/zerononlinearity.hh>
+#include <dune/tnnmg/problem-classes/blocknonlineartnnmgproblem.hh>
 #include <dune/tnnmg/problem-classes/convexproblem.hh>
 
 #include <dune/tectonic/globalnonlinearity.hh>
 #include <dune/tectonic/myblockproblem.hh>
-#include <dune/tnnmg/problem-classes/blocknonlineartnnmgproblem.hh>
-
-using SmallVector = Dune::FieldVector<double, DIM>;
-using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>;
-using Vector = Dune::BlockVector<SmallVector>;
-using Matrix = Dune::BCRSMatrix<SmallMatrix>;
-
-using Grid = Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming>;
 
 template class SolverFactory<
     DIM, MyBlockProblem<
diff --git a/src/timestepping_tmpl.cc b/src/timestepping_tmpl.cc
index ce3dad02ae15526639f6ab17c25a47535e76541a..7c63e759ee4b1c51e0b05ea6ea671954543e6b04 100644
--- a/src/timestepping_tmpl.cc
+++ b/src/timestepping_tmpl.cc
@@ -2,16 +2,10 @@
 #error DIM unset
 #endif
 
-#include <dune/common/fmatrix.hh>
 #include <dune/common/function.hh>
-#include <dune/common/fvector.hh>
-#include <dune/istl/bcrsmatrix.hh>
-#include <dune/istl/bvector.hh>
 
-using SmallVector = Dune::FieldVector<double, DIM>;
-using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>;
-using Matrix = Dune::BCRSMatrix<SmallMatrix>;
-using Vector = Dune::BlockVector<SmallVector>;
+#include "explicitvectors.hh"
+
 using Function = Dune::VirtualFunction<double, double>;
 
 template class Newmark<Vector, Matrix, Function, DIM>;
diff --git a/src/vtk_tmpl.cc b/src/vtk_tmpl.cc
index 6d2c96880c5641a77dbc7996dcd5e97d5df10190..bad777b6f2b6bf1027defaaddac8ce5b3ce14bef 100644
--- a/src/vtk_tmpl.cc
+++ b/src/vtk_tmpl.cc
@@ -2,27 +2,12 @@
 #error DIM unset
 #endif
 
-#include <dune/common/fmatrix.hh>
-#include <dune/common/fvector.hh>
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wignored-qualifiers"
-#include <dune/grid/alugrid.hh>
-#pragma clang diagnostic pop
-
-#include <dune/istl/bvector.hh>
+#include "explicitgrid.hh"
+#include "explicitvectors.hh"
 
 #include <dune/fufem/functionspacebases/p0basis.hh>
 #include <dune/fufem/functionspacebases/p1nodalbasis.hh>
 
-using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>;
-
-using SmallVector = Dune::FieldVector<double, DIM>;
-using SmallMatrix = Dune::FieldMatrix<double, DIM, DIM>;
-using Vector = Dune::BlockVector<SmallVector>;
-
-using Grid = Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming>;
-using GridView = Grid::LeafGridView;
 using P1Basis = P1NodalBasis<GridView, double>;
 using MyP0Basis = P0Basis<GridView, double>;