diff --git a/dune/fufem/assemblers/localassemblers/boundarymassassembler.hh b/dune/fufem/assemblers/localassemblers/boundarymassassembler.hh
index 2aa7e25483003144d8415bb439934c88f3b0567a..aa48014400895c19b820d0c6527908e3d23f8393 100644
--- a/dune/fufem/assemblers/localassemblers/boundarymassassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/boundarymassassembler.hh
@@ -8,7 +8,7 @@
 #include <dune/istl/matrix.hh>
 
 #include "dune/fufem/staticmatrixtools.hh"
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 #include "dune/fufem/assemblers/localoperatorassembler.hh"
 #include "dune/fufem/referenceelementhelper.hh"
diff --git a/dune/fufem/assemblers/localassemblers/convolutionassembler.hh b/dune/fufem/assemblers/localassemblers/convolutionassembler.hh
index 73b7dcb37b0c1685608f05f37a904901c5aaeb6f..d98f60c71adfecae5a690bb7d4748a65dd51c57b 100644
--- a/dune/fufem/assemblers/localassemblers/convolutionassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/convolutionassembler.hh
@@ -11,7 +11,7 @@
 #include <dune/istl/matrix.hh>
 
 #include "dune/fufem/staticmatrixtools.hh"
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 
 
diff --git a/dune/fufem/assemblers/localassemblers/generalizedlaplaceassembler.hh b/dune/fufem/assemblers/localassemblers/generalizedlaplaceassembler.hh
index e3bf16653ada229ba40a980dfe148d8acf63add3..ad2daffe9c154f2d49811c0a2fba2924ae8ad7ad 100644
--- a/dune/fufem/assemblers/localassemblers/generalizedlaplaceassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/generalizedlaplaceassembler.hh
@@ -11,7 +11,7 @@
 
 #include <dune/fufem/arithmetic.hh>
 
-#include <dune/fufem/functiontools/quadraturerulecache.hh>
+#include <dune/fufem/quadraturerules/quadraturerulecache.hh>
 
 #include <dune/fufem/assemblers/localoperatorassembler.hh>
 
diff --git a/dune/fufem/assemblers/localassemblers/geononlinlinearizedstvenantassembler.hh b/dune/fufem/assemblers/localassemblers/geononlinlinearizedstvenantassembler.hh
index 9b130ae927fcd059fc0762fb7c9fa7ac20a34a08..f39fa1542a341e1a67644a28a78188482c8c1bcc 100644
--- a/dune/fufem/assemblers/localassemblers/geononlinlinearizedstvenantassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/geononlinlinearizedstvenantassembler.hh
@@ -7,7 +7,7 @@
 
 #include <dune/istl/matrix.hh>
 
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 #include "dune/fufem/assemblers/localoperatorassembler.hh"
 #include "dune/fufem/staticmatrixtools.hh"
diff --git a/dune/fufem/assemblers/localassemblers/geononlinstvenantfunctionalassembler.hh b/dune/fufem/assemblers/localassemblers/geononlinstvenantfunctionalassembler.hh
index d7f7bf1be9fc762e9b9296c488d04a87208dced6..476b0ef64947ff9078b4a174df03245eeef584fe 100644
--- a/dune/fufem/assemblers/localassemblers/geononlinstvenantfunctionalassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/geononlinstvenantfunctionalassembler.hh
@@ -4,7 +4,7 @@
 #include <dune/common/fvector.hh>
 #include <dune/istl/bvector.hh>
 
-#include <dune/fufem/functiontools/quadraturerulecache.hh>
+#include <dune/fufem/quadraturerules/quadraturerulecache.hh>
 #include "dune/fufem/assemblers/localfunctionalassembler.hh"
 #include <dune/fufem/symmetrictensor.hh>
 #include <dune/fufem/functions/virtualgridfunction.hh>
diff --git a/dune/fufem/assemblers/localassemblers/h1functionalassembler.hh b/dune/fufem/assemblers/localassemblers/h1functionalassembler.hh
index 4d136b988be06c49d1d92f660826414f433be8c6..db8c2999b2dd8860c512458370021b0e4ed1cedf 100644
--- a/dune/fufem/assemblers/localassemblers/h1functionalassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/h1functionalassembler.hh
@@ -7,7 +7,7 @@
 #include <dune/istl/bvector.hh>
 
 
-#include <dune/fufem/functiontools/quadraturerulecache.hh>
+#include <dune/fufem/quadraturerules/quadraturerulecache.hh>
 #include <dune/fufem/functions/virtualgridfunction.hh>
 
 #include <dune/fufem/assemblers/localfunctionalassembler.hh>
diff --git a/dune/fufem/assemblers/localassemblers/l2functionalassembler.hh b/dune/fufem/assemblers/localassemblers/l2functionalassembler.hh
index facca5773ab58bb0e4f7692570205e9ed5cc9ec1..6c63212b4f3a592eba7b58c2439a480d29df268e 100644
--- a/dune/fufem/assemblers/localassemblers/l2functionalassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/l2functionalassembler.hh
@@ -6,7 +6,7 @@
 #include <dune/common/function.hh>
 #include <dune/istl/bvector.hh>
 
-#include <dune/fufem/functiontools/quadraturerulecache.hh>
+#include <dune/fufem/quadraturerules/quadraturerulecache.hh>
 #include <dune/fufem/functions/virtualgridfunction.hh>
 
 #include "dune/fufem/assemblers/localfunctionalassembler.hh"
diff --git a/dune/fufem/assemblers/localassemblers/laplaceassembler.hh b/dune/fufem/assemblers/localassemblers/laplaceassembler.hh
index 976519ac612baa86f8292224db602566428bc73d..1a0b15b84de8ce8ada68c0b11cd3355b3e111868 100644
--- a/dune/fufem/assemblers/localassemblers/laplaceassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/laplaceassembler.hh
@@ -8,7 +8,7 @@
 #include <dune/istl/matrix.hh>
 
 #include "dune/fufem/staticmatrixtools.hh"
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 #include "dune/fufem/assemblers/localoperatorassembler.hh"
 
diff --git a/dune/fufem/assemblers/localassemblers/lumpedmassassembler.hh b/dune/fufem/assemblers/localassemblers/lumpedmassassembler.hh
index 8cc532a58ba50211bef2796278845c886c144a16..2b0c8261703550ac8a26202559988c550e7341b6 100644
--- a/dune/fufem/assemblers/localassemblers/lumpedmassassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/lumpedmassassembler.hh
@@ -8,7 +8,7 @@
 #include <dune/istl/matrix.hh>
 
 #include "dune/fufem/staticmatrixtools.hh"
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 #include "dune/fufem/assemblers/localoperatorassembler.hh"
 
diff --git a/dune/fufem/assemblers/localassemblers/massassembler.hh b/dune/fufem/assemblers/localassemblers/massassembler.hh
index 35bb8ea04a6795e1c9072c7e5619aa766890e231..1cb1b20cbf994fd8caf89f85e0c5bd90a125074e 100644
--- a/dune/fufem/assemblers/localassemblers/massassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/massassembler.hh
@@ -8,7 +8,7 @@
 #include <dune/istl/matrix.hh>
 
 #include "dune/fufem/staticmatrixtools.hh"
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 #include "dune/fufem/assemblers/localoperatorassembler.hh"
 
diff --git a/dune/fufem/assemblers/localassemblers/neumannboundaryassembler.hh b/dune/fufem/assemblers/localassemblers/neumannboundaryassembler.hh
index 643ee0afef959443dbdabbfae766f51b6793a316..a42d611546d5aa4193cecbb013f52f0efd41cfff 100644
--- a/dune/fufem/assemblers/localassemblers/neumannboundaryassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/neumannboundaryassembler.hh
@@ -8,7 +8,7 @@
 #include <dune/common/fvector.hh>
 #include <dune/istl/bvector.hh>
 
-#include <dune/fufem/functiontools/quadraturerulecache.hh>
+#include <dune/fufem/quadraturerules/quadraturerulecache.hh>
 #include <dune/fufem/functions/virtualgridfunction.hh>
 
 #include <dune/fufem/assemblers/localboundaryassembler.hh>
diff --git a/dune/fufem/assemblers/localassemblers/normalstressboundaryassembler.hh b/dune/fufem/assemblers/localassemblers/normalstressboundaryassembler.hh
index 7a73d82a96880f427fab912bf2dc7b8663ca759a..9137d5200fab59281b1d05aa2d0b8e4137c7dfcb 100644
--- a/dune/fufem/assemblers/localassemblers/normalstressboundaryassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/normalstressboundaryassembler.hh
@@ -8,7 +8,7 @@
 #include "dune/fufem/assemblers/localboundaryassembler.hh"
 #include <dune/fufem/symmetrictensor.hh>
 #include <dune/fufem/functions/virtualgridfunction.hh>
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 /** \brief Computes the normal stress of a linear elastic material as P0 data.  
  *
diff --git a/dune/fufem/assemblers/localassemblers/stvenantkirchhoffassembler.hh b/dune/fufem/assemblers/localassemblers/stvenantkirchhoffassembler.hh
index 3eead33b644ce14edb66ed153a348fe04b37c9cc..819f2857baf134982722536943e81a4336a614ae 100644
--- a/dune/fufem/assemblers/localassemblers/stvenantkirchhoffassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/stvenantkirchhoffassembler.hh
@@ -7,7 +7,7 @@
 
 #include <dune/istl/matrix.hh>
 
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 #include "dune/fufem/assemblers/localoperatorassembler.hh"
 #include "dune/fufem/staticmatrixtools.hh"
diff --git a/dune/fufem/assemblers/localassemblers/subgridh1functionalassembler.hh b/dune/fufem/assemblers/localassemblers/subgridh1functionalassembler.hh
index c8b2925962914b9f949b99af80fb5e2219f5fff9..ca6bf5c140cdc9587c30f8774a5ddd5ce3400a22 100644
--- a/dune/fufem/assemblers/localassemblers/subgridh1functionalassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/subgridh1functionalassembler.hh
@@ -9,7 +9,7 @@
 #include <dune/fufem/functions/virtualgridfunction.hh>
 #include <dune/fufem/functions/virtualdifferentiablefunction.hh>
 #include <dune/fufem/functions/basisgridfunction.hh>
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 #include "dune/fufem/functionspacebases/refinedp1nodalbasis.hh"
 
 
diff --git a/dune/fufem/assemblers/localassemblers/subgridl2functionalassembler.hh b/dune/fufem/assemblers/localassemblers/subgridl2functionalassembler.hh
index 8732b249f1bde5bd79bcfa76d1b3fd7ce4deaea9..2450ef9edfd8934c131ddeb704eb00c6704c22d2 100644
--- a/dune/fufem/assemblers/localassemblers/subgridl2functionalassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/subgridl2functionalassembler.hh
@@ -7,7 +7,7 @@
 #include <dune/istl/bvector.hh>
 
 #include <dune/fufem/functions/virtualgridfunction.hh>
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 #include <dune/fufem/functions/basisgridfunction.hh>
 #include "dune/fufem/functionspacebases/refinedp1nodalbasis.hh"
 
diff --git a/dune/fufem/assemblers/localassemblers/viscosityassembler.hh b/dune/fufem/assemblers/localassemblers/viscosityassembler.hh
index c32e04be5a90f1578a2032b062669df535e945ac..aceef22b6679fc98c9f10f964ff66f38f4e5f19a 100644
--- a/dune/fufem/assemblers/localassemblers/viscosityassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/viscosityassembler.hh
@@ -7,7 +7,7 @@
 
 #include <dune/istl/matrix.hh>
 
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 #include "dune/fufem/assemblers/localoperatorassembler.hh"
 #include "dune/fufem/staticmatrixtools.hh"
diff --git a/dune/fufem/assemblers/localassemblers/vvlaplaceassembler.hh b/dune/fufem/assemblers/localassemblers/vvlaplaceassembler.hh
index c2a56a6ec7c62d503974010640f22d9c0547a26f..cf70150f5ec54685a7bc81e9a18f81c1f06bb201 100644
--- a/dune/fufem/assemblers/localassemblers/vvlaplaceassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/vvlaplaceassembler.hh
@@ -8,7 +8,7 @@
 #include <dune/istl/matrix.hh>
 
 #include "dune/fufem/staticmatrixtools.hh"
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 #include "dune/fufem/assemblers/localoperatorassembler.hh"
 
diff --git a/dune/fufem/discretizationerror.hh b/dune/fufem/discretizationerror.hh
index 5137622ea2629cd75ac8182864e0ae84e646259c..b2bd1e5f092b71a6bda4fdb9364bc97da75e1f40 100644
--- a/dune/fufem/discretizationerror.hh
+++ b/dune/fufem/discretizationerror.hh
@@ -6,7 +6,7 @@
 #include <dune/geometry/quadraturerules.hh>
 
 #include <dune/fufem/functions/virtualgridfunction.hh>
-#include <dune/fufem/functiontools/quadraturerulecache.hh>
+#include <dune/fufem/quadraturerules/quadraturerulecache.hh>
 
 template <class GridView>
 class DiscretizationError
diff --git a/dune/fufem/functiontools/functionintegrator.hh b/dune/fufem/functiontools/functionintegrator.hh
index 7a3e41da7aecf9f7820d974506332cd688d6557b..caff40a5674b2fc90323b282b44747c94bdcdf8b 100644
--- a/dune/fufem/functiontools/functionintegrator.hh
+++ b/dune/fufem/functiontools/functionintegrator.hh
@@ -5,7 +5,7 @@
 
 #include <dune/geometry/quadraturerules.hh>
 
-#include <dune/fufem/functiontools/quadraturerulecache.hh>
+#include <dune/fufem/quadraturerules/quadraturerulecache.hh>
 #include <dune/fufem/functions/virtualgridfunction.hh>
 #include <dune/fufem/functions/basisgridfunction.hh>
 
diff --git a/dune/fufem/mechanics/newpfeassembler.hh b/dune/fufem/mechanics/newpfeassembler.hh
index c3365105714fd06c1225d8a80db141eea4f6216b..8d7cb8d9bf394ffd875b59218dfb73dbaed54a86 100644
--- a/dune/fufem/mechanics/newpfeassembler.hh
+++ b/dune/fufem/mechanics/newpfeassembler.hh
@@ -7,7 +7,7 @@
 
 #include <dune/istl/matrix.hh>
 
-#include <dune/fufem/functiontools/quadraturerulecache.hh>
+#include <dune/fufem/quadraturerules/quadraturerulecache.hh>
 
 #include <dune/fufem/assemblers/localoperatorassembler.hh>
 #include <dune/fufem/staticmatrixtools.hh>
diff --git a/dune/fufem/neumannassembler.hh b/dune/fufem/neumannassembler.hh
index 6c46456b098ebb328cfc8fa1aabbd5dfaf76a3b9..3cb818032500f1a274f6a5019a83e67f67735568 100644
--- a/dune/fufem/neumannassembler.hh
+++ b/dune/fufem/neumannassembler.hh
@@ -17,7 +17,7 @@
 
 #include <dune/fufem/boundarypatch.hh>
 #include <dune/fufem/functionspacebases/p1nodalbasis.hh>
-#include "dune/fufem/functiontools/quadraturerulecache.hh"
+#include "dune/fufem/quadraturerules/quadraturerulecache.hh"
 
 template <class GridView, class VectorType>
 void assembleAndAddNeumannTerm(const BoundaryPatch<GridView>& neumannBoundary,
diff --git a/dune/fufem/quadraturerules/quadraturerulecache.hh b/dune/fufem/quadraturerules/quadraturerulecache.hh
index 61ccb1a6f9675e9fe512d0bd2a96992b2bf861f9..f29cd580c9430b10db52699de08369c514c60c8f 100644
--- a/dune/fufem/quadraturerules/quadraturerulecache.hh
+++ b/dune/fufem/quadraturerules/quadraturerulecache.hh
@@ -9,10 +9,10 @@
 
 #include <dune/geometry/quadraturerules.hh>
 
-#include <dune/fufem/functiontools/refinedquadraturerule.hh>
-#include <dune/fufem/functiontools/compositequadraturerule.hh>
-#include <dune/fufem/refinedfehelper.hh>
+#include <dune/fufem/quadraturerules/refinedquadraturerule.hh>
+#include <dune/fufem/quadraturerules/compositequadraturerule.hh>
 #include <dune/fufem/quadraturerules/lumpingquadraturerule.hh>
+#include <dune/fufem/refinedfehelper.hh>
 
 
 
diff --git a/dune/fufem/quadraturerules/refinedquadraturerule.hh b/dune/fufem/quadraturerules/refinedquadraturerule.hh
index 07d6cd5518dcee3564a5bb31c94b624e2f5a7f43..f9f992865f251180bc2c8da0d4f3b02762ad8a32 100644
--- a/dune/fufem/quadraturerules/refinedquadraturerule.hh
+++ b/dune/fufem/quadraturerules/refinedquadraturerule.hh
@@ -9,7 +9,7 @@
  */
 
 #include <dune/common/fmatrix.hh>
-#include <dune/fufem/functiontools/compositequadraturerule.hh>
+#include <dune/fufem/quadraturerules/compositequadraturerule.hh>
 
 
 template <class ct, int dim>