diff --git a/src/unitvector.hh b/src/unitvector.hh
new file mode 100644
index 0000000000000000000000000000000000000000..e2fbdf17e5aa38c0466cdf6735aabc05e4b3687e
--- /dev/null
+++ b/src/unitvector.hh
@@ -0,0 +1,33 @@
+#ifndef UNIT_VECTOR_HH
+#define UNIT_VECTOR_HH
+
+#include <dune/common/fvector.hh>
+
+template <int dim>
+class UnitVector
+{
+public:
+
+    typedef Dune::FieldVector<double,dim> TangentVector;
+    typedef Dune::FieldVector<double,dim> EmbeddedTangentVector;
+
+    UnitVector<dim>& operator=(const Dune::FieldVector<double,dim>& vector)
+    {
+        data_ = vector;
+        data_ /= data_.two_norm();
+        return *this;
+    }
+
+    /** \brief Write LocalKey object to output stream */
+    friend std::ostream& operator<< (std::ostream& s, const UnitVector& unitVector)
+    {
+        return s << unitVector.data_;
+    }
+
+
+private:
+
+    Dune::FieldVector<double,dim> data_;
+};
+
+#endif