diff --git a/dune/gdt/playground/spaces/cg/fem-localfunctions.hh b/dune/gdt/playground/spaces/cg/fem-localfunctions.hh
index 43eb0bb4e89d12245775328e9377d8af98ca2bd6..89479f01e701aab16dc0629d13b21454f5e06bb2 100644
--- a/dune/gdt/playground/spaces/cg/fem-localfunctions.hh
+++ b/dune/gdt/playground/spaces/cg/fem-localfunctions.hh
@@ -32,7 +32,7 @@
 
 #include <dune/gdt/mapper/fem.hh>
 #include <dune/gdt/basefunctionset/fem-localfunctions.hh>
-#include <dune/gdt/spaces/continuouslagrange/base.hh>
+#include <dune/gdt/spaces/cg/interface.hh>
 
 namespace Dune {
 namespace GDT {
@@ -104,13 +104,11 @@ private:
 
 template <class GridPartImp, int polynomialOrder, class RangeFieldImp>
 class FemLocalfunctionsBased<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1>
-    : public Spaces::ContinuousLagrangeBase<FemLocalfunctionsBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1,
-                                                                         1>,
-                                            GridPartImp::dimension, RangeFieldImp, 1, 1>
+    : public Spaces::CGInterface<FemLocalfunctionsBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1>,
+                                 GridPartImp::dimension, RangeFieldImp, 1, 1>
 {
-  typedef Spaces::ContinuousLagrangeBase<FemLocalfunctionsBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1,
-                                                                      1>,
-                                         GridPartImp::dimension, RangeFieldImp, 1, 1> BaseType;
+  typedef Spaces::CGInterface<FemLocalfunctionsBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1>,
+                              GridPartImp::dimension, RangeFieldImp, 1, 1> BaseType;
   typedef FemLocalfunctionsBased<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1> ThisType;
 
 public:
@@ -137,6 +135,8 @@ public:
   typedef typename Traits::EntityType EntityType;
 
   typedef Dune::Stuff::LA::SparsityPatternDefault PatternType;
+  using typename BaseType::DomainType;
+  using typename BaseType::BoundaryInfoType;
 
 private:
   typedef typename Traits::BaseFunctionSetMapType BaseFunctionSetMapType;
@@ -193,6 +193,16 @@ public:
     return mapper_;
   }
 
+  std::vector<DomainType> lagrange_points(const EntityType& entity) const
+  {
+    return BaseType::lagrange_points_order_1(entity);
+  }
+
+  std::set<size_t> local_dirichlet_DoFs(const EntityType& entity, const BoundaryInfoType& boundaryInfo) const
+  {
+    return BaseType::local_dirichlet_DoFs_order_1(entity, boundaryInfo);
+  }
+
   BaseFunctionSetType base_function_set(const EntityType& entity) const
   {
     return BaseFunctionSetType(baseFunctionSetMap_, entity);
diff --git a/dune/gdt/spaces/cg/fem.hh b/dune/gdt/spaces/cg/fem.hh
index eb1704cd2f811c4dc4026d559f05e6172f300154..f7ba1c58326795f768126e0a28fd597bb64747a8 100644
--- a/dune/gdt/spaces/cg/fem.hh
+++ b/dune/gdt/spaces/cg/fem.hh
@@ -22,7 +22,7 @@
 #include "../../mapper/fem.hh"
 #include "../../basefunctionset/fem.hh"
 
-#include "base.hh"
+#include "interface.hh"
 #include "../constraints.hh"
 
 namespace Dune {
@@ -74,14 +74,14 @@ public:
 }; // class SpaceWrappedFemContinuousLagrangeTraits
 
 
-// untested for the vector-valued case, especially Spaces::ContinuousLagrangeBase
+// untested for the vector-valued case, especially Spaces::CGInterface
 template <class GridPartImp, int polynomialOrder, class RangeFieldImp>
 class FemBased<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1>
-    : public Spaces::ContinuousLagrangeBase<FemBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1>,
-                                            GridPartImp::dimension, RangeFieldImp, 1, 1>
+    : public Spaces::CGInterface<FemBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1>,
+                                 GridPartImp::dimension, RangeFieldImp, 1, 1>
 {
-  typedef Spaces::ContinuousLagrangeBase<FemBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1>,
-                                         GridPartImp::dimension, RangeFieldImp, 1, 1> BaseType;
+  typedef Spaces::CGInterface<FemBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1>, GridPartImp::dimension,
+                              RangeFieldImp, 1, 1> BaseType;
   typedef FemBased<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1> ThisType;
 
 public:
@@ -109,6 +109,8 @@ public:
   typedef typename Traits::CommunicatorType CommunicatorType;
 
   typedef Dune::Stuff::LA::SparsityPatternDefault PatternType;
+  using typename BaseType::DomainType;
+  using typename BaseType::BoundaryInfoType;
 
   explicit FemBased(GridPartType gridP)
     : gridPart_(new GridPartType(gridP))
@@ -146,6 +148,16 @@ public:
     return *mapper_;
   }
 
+  std::vector<DomainType> lagrange_points(const EntityType& entity) const
+  {
+    return BaseType::lagrange_points_order_1(entity);
+  }
+
+  std::set<size_t> local_dirichlet_DoFs(const EntityType& entity, const BoundaryInfoType& boundaryInfo) const
+  {
+    return BaseType::local_dirichlet_DoFs_order_1(entity, boundaryInfo);
+  }
+
   BaseFunctionSetType base_function_set(const EntityType& entity) const
   {
     return BaseFunctionSetType(*backend_, entity);
diff --git a/dune/gdt/spaces/cg/pdelab.hh b/dune/gdt/spaces/cg/pdelab.hh
index 706e2a2cb393b16d6b443475b1dbadac20feda5e..19d855e5d7e34f513c162f88bc2f72dc7f2b45d0 100644
--- a/dune/gdt/spaces/cg/pdelab.hh
+++ b/dune/gdt/spaces/cg/pdelab.hh
@@ -32,7 +32,7 @@
 #include "../../mapper/pdelab.hh"
 #include "../../basefunctionset/pdelab.hh"
 
-#include "base.hh"
+#include "interface.hh"
 
 namespace Dune {
 
@@ -111,11 +111,11 @@ private:
 
 template <class GridViewImp, int polynomialOrder, class RangeFieldImp>
 class PdelabBased<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1>
-    : public Spaces::ContinuousLagrangeBase<PdelabBasedTraits<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1>,
-                                            GridViewImp::dimension, RangeFieldImp, 1, 1>
+    : public Spaces::CGInterface<PdelabBasedTraits<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1>,
+                                 GridViewImp::dimension, RangeFieldImp, 1, 1>
 {
-  typedef Spaces::ContinuousLagrangeBase<PdelabBasedTraits<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1>,
-                                         GridViewImp::dimension, RangeFieldImp, 1, 1> BaseType;
+  typedef Spaces::CGInterface<PdelabBasedTraits<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1>,
+                              GridViewImp::dimension, RangeFieldImp, 1, 1> BaseType;
   typedef PdelabBased<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1> ThisType;
 
 public:
@@ -210,6 +210,16 @@ public:
     return mapper_;
   }
 
+  std::vector<DomainType> lagrange_points(const EntityType& entity) const
+  {
+    return BaseType::lagrange_points_order_1(entity);
+  }
+
+  std::set<size_t> local_dirichlet_DoFs(const EntityType& entity, const BoundaryInfoType& boundaryInfo) const
+  {
+    return BaseType::local_dirichlet_DoFs_order_1(entity, boundaryInfo);
+  }
+
   BaseFunctionSetType base_function_set(const EntityType& entity) const
   {
     return BaseFunctionSetType(backend_, entity);