diff --git a/src/rodassembler.hh b/src/rodassembler.hh
index ca8346fed099ec7e9aaa307ccbca6781ac09eaa5..8928383cf5747e8a27ef578dfd184b9f07641e4c 100644
--- a/src/rodassembler.hh
+++ b/src/rodassembler.hh
@@ -5,16 +5,17 @@
 #include <dune/common/fmatrix.hh>
 #include <dune/istl/matrixindexset.hh>
 #include <dune/istl/matrix.hh>
-#include <dune/disc/operators/localstiffness.hh>
 
 #include <dune/ag-common/boundarypatch.hh>
-#include "rigidbodymotion.hh"
 
+#include "rigidbodymotion.hh"
+#include "geodesicfeassembler.hh"
 
-    /** \brief The FEM operator for an extensible, shearable rod
-     */
-    template <class GridType>
-    class RodAssembler {
+/** \brief The FEM operator for an extensible, shearable rod
+ */
+template <class GridType>
+class RodAssembler : public GeodesicFEAssembler<typename GridType::LeafGridView, RigidBodyMotion<3> >
+{
         
         typedef typename GridType::template Codim<0>::Entity EntityType;
         typedef typename GridType::template Codim<0>::EntityPointer EntityPointer;
@@ -47,6 +48,7 @@
         
         //! ???
         RodAssembler(const GridType &grid) : 
+            GeodesicFEAssembler<typename GridType::LeafGridView, RigidBodyMotion<3> >(grid.leafView()),
             grid_(&grid)
         { 
             // Set dummy material parameters
@@ -70,8 +72,6 @@
 
         }
 
-        ~RodAssembler() {}
-
         void setParameters(double k1, double k2, double k3, 
                            double a1, double a2, double a3) {
             K_[0] = k1;