diff --git a/dune/fem-dg/examples/advdiff/algorithmcreator.hh b/dune/fem-dg/examples/advdiff/algorithmcreator.hh
index 709cd27b5396d89e9a53440093efd00c16090389..313ec4c060ea6804d88bce344e8d5c18f465a733 100644
--- a/dune/fem-dg/examples/advdiff/algorithmcreator.hh
+++ b/dune/fem-dg/examples/advdiff/algorithmcreator.hh
@@ -60,10 +60,8 @@ namespace Fem
                                      AdvectionLimiter::Enum::unlimited,
                                      Matrix::Enum::matrixfree,
                                      AdvectionFlux::Enum::upwind,
-                                     PrimalDiffusionFlux::Enum::cdg2 > AC;
-      // Local DG approach
-      //                             LocalDiffusionFlux::Enum::general,
-      //                             Formulation::Enum::local > AC;
+                                     DiffusionFlux::Enum::primal > AC;
+                                     // DiffusionFlux::Enum::local > AC;
 
       typedef typename AC::GridType                         GridType;
       typedef typename AC::GridParts                        HostGridPartType;
diff --git a/dune/fem-dg/examples/advdiff/test/parameter_cmake b/dune/fem-dg/examples/advdiff/test/parameter_cmake
index 07e1ac6f94eb32ba614356ea77cf751a3dbc0aff..fa3aad7a957c8299b9cb9f67d36101cb08b603fa 100644
--- a/dune/fem-dg/examples/advdiff/test/parameter_cmake
+++ b/dune/fem-dg/examples/advdiff/test/parameter_cmake
@@ -45,6 +45,6 @@ fem.io.macroGridFile_3d: ../../grids/unitcube3.dgf
 # SOLVER
 #-------
 dgdiffusionflux.upwind: -1 -0.001
-dgdiffusionflux.method: LDG
+#dgdiffusionflux.method: LDG
 femdg.stepper.maxtimestep: 0.5
 paramfile: ../../parameter/paramSolver
diff --git a/dune/fem-dg/examples/incompnavierstokes/algorithmcreator.hh b/dune/fem-dg/examples/incompnavierstokes/algorithmcreator.hh
index 9d824444446d11897eea36c6136559a5cfb0d640..a39819e93c40194aca98067b7a28b4e32f359780 100644
--- a/dune/fem-dg/examples/incompnavierstokes/algorithmcreator.hh
+++ b/dune/fem-dg/examples/incompnavierstokes/algorithmcreator.hh
@@ -72,7 +72,7 @@ namespace Fem
                                      AdvectionLimiter::Enum::unlimited,
                                      Matrix::Enum::assembled,
                                      AdvectionFlux::Enum::none,
-                                     PrimalDiffusionFlux::Enum::general > AC;
+                                     DiffusionFlux::Enum::primal > AC;
 
 
       struct SubPoissonAlgorithmCreator
@@ -239,7 +239,7 @@ namespace Fem
                                      AdvectionLimiter::Enum::unlimited,
                                      Matrix::Enum::matrixfree,
                                      AdvectionFlux::Enum::llf,
-                                     PrimalDiffusionFlux::Enum::general > AC;
+                                     DiffusionFlux::Enum::primal > AC;
 
       typedef typename AC::GridType                         GridType;
       typedef typename AC::GridParts                        HostGridPartType;
diff --git a/dune/fem-dg/examples/navierstokes/algorithmcreator.hh b/dune/fem-dg/examples/navierstokes/algorithmcreator.hh
index 813744030256ceae624b568c875f551a8f7de3e6..a986b8a259514966d7d50ff91930eb7c242b6626 100644
--- a/dune/fem-dg/examples/navierstokes/algorithmcreator.hh
+++ b/dune/fem-dg/examples/navierstokes/algorithmcreator.hh
@@ -63,10 +63,7 @@ namespace Fem
                                      AdvectionLimiter::Enum::unlimited,
                                      Matrix::Enum::matrixfree,
                                      AdvectionFlux::Enum::llf,
-                                     PrimalDiffusionFlux::Enum::general> AC;
-      // Local DG approach
-      //                               LocalDiffusionFlux::Enum::ldg,
-      //                               Formulation::Enum::local > AC;
+                                     DiffusionFlux::Enum::primal > AC;
 
       typedef typename AC::GridType                                 GridType;
       typedef typename AC::GridParts                                HostGridPartType;
diff --git a/dune/fem-dg/examples/poisson/algorithmcreator.hh b/dune/fem-dg/examples/poisson/algorithmcreator.hh
index 3701ac4876da8fbd858782e61943f672c8eec1b4..067c119ad5dcdb541e4f1d5b9d904ec0c6edc8c7 100644
--- a/dune/fem-dg/examples/poisson/algorithmcreator.hh
+++ b/dune/fem-dg/examples/poisson/algorithmcreator.hh
@@ -58,7 +58,7 @@ namespace Fem
                                      AdvectionLimiter::Enum::unlimited,
                                      Matrix::Enum::assembled,
                                      AdvectionFlux::Enum::upwind,
-                                     PrimalDiffusionFlux::Enum::general > AC;
+                                     DiffusionFlux::Enum::primal > AC;
 
       typedef typename AC::GridType                         GridType;
       typedef typename AC::GridParts                        HostGridPartType;
diff --git a/dune/fem-dg/examples/stokes/algorithmcreator.hh b/dune/fem-dg/examples/stokes/algorithmcreator.hh
index 8ab68af81f7a805db02b6378af6748f6ae659dc4..604f9a0508f80649ee895381ecb4b8ffc70bb0e2 100644
--- a/dune/fem-dg/examples/stokes/algorithmcreator.hh
+++ b/dune/fem-dg/examples/stokes/algorithmcreator.hh
@@ -60,7 +60,7 @@ namespace Fem
   static const AdvectionLimiter::Enum       advLimiterEnum = AdvectionLimiter::Enum::unlimited;
   static const Matrix::Enum                 matrixEnum     = Matrix::Enum::assembled;
   static const AdvectionFlux::Enum          advFluxEnum    = AdvectionFlux::Enum::none;
-  static const PrimalDiffusionFlux::Enum    diffFluxEnum   = PrimalDiffusionFlux::Enum::general;
+  static const PrimalDiffusionFlux::Enum    diffFluxEnum   = DiffusionFlux::Enum::primal;
   // for Taylorhood (P2,P1) equal one
   static const int pressureOrderReduction = 1;
 
diff --git a/dune/fem-dg/misc/algorithmcreatorselector.hh b/dune/fem-dg/misc/algorithmcreatorselector.hh
index 4101304086b79d46d901dbd934c15503c4df0d73..5090fa566ba38fd7d999b4ab74b27aea648d6521 100644
--- a/dune/fem-dg/misc/algorithmcreatorselector.hh
+++ b/dune/fem-dg/misc/algorithmcreatorselector.hh
@@ -204,21 +204,6 @@ namespace Fem
     };
   }
 
-  /**
-   *  \brief Namespace containing an Enum class to describe the formulation
-   */
-  namespace Formulation
-  {
-    /**
-     * \ingroup FemDGParameter
-     */
-    enum class Enum
-    {
-      primal,
-      local
-    };
-  }
-
 ///////////////////////////////////////////////////////////////////////////
 // GridPartSelector
 ///////////////////////////////////////////////////////////////////////////
@@ -573,21 +558,21 @@ namespace Fem
   };
 
   template< class ModelImp, class DiscreteFunctionSpaceImp,
-            PrimalDiffusionFlux::Enum diffFluxId, LocalDiffusionFlux::Enum localDiffFluxId, Formulation::Enum form >
+            DiffusionFlux::Enum diffFluxId, Formulation::Enum form >
   struct DiffusionFluxSelector;
 
-  template< class ModelImp, class DiscreteFunctionSpaceImp, PrimalDiffusionFlux::Enum diffFluxId, LocalDiffusionFlux::Enum localDiffFluxId >
-  struct DiffusionFluxSelector< ModelImp, DiscreteFunctionSpaceImp, diffFluxId, localDiffFluxId, Formulation::Enum::primal >
+  template< class ModelImp, class DiscreteFunctionSpaceImp, DiffusionFlux::Enum diffFluxId >
+  struct DiffusionFluxSelector< ModelImp, DiscreteFunctionSpaceImp, diffFluxId, Formulation::Enum::local >
   {
-    typedef DGPrimalDiffusionFlux< DiscreteFunctionSpaceImp, ModelImp, diffFluxId > type;
+    typedef DGLocalDiffusionFlux< DiscreteFunctionSpaceImp, ModelImp, diffFluxId > type;
   };
 
-  template< class ModelImp, class DiscreteFunctionSpaceImp, PrimalDiffusionFlux::Enum diffFluxId, LocalDiffusionFlux::Enum localDiffFluxId >
-  struct DiffusionFluxSelector< ModelImp, DiscreteFunctionSpaceImp, diffFluxId, localDiffFluxId, Formulation::Enum::local >
+  template< class ModelImp, class DiscreteFunctionSpaceImp, DiffusionFlux::Enum diffFluxId >
+  struct DiffusionFluxSelector< ModelImp, DiscreteFunctionSpaceImp, diffFluxId, Formulation::Enum::primal >
   {
-    typedef DGLocalDiffusionFlux< DiscreteFunctionSpaceImp, ModelImp, localDiffFluxId > type;
+    typedef DGPrimalDiffusionFlux< DiscreteFunctionSpaceImp, ModelImp, diffFluxId > type;
   };
 
-}
-}
+} // end namespace Fem
+} // end namespace Dune
 #endif
diff --git a/dune/fem-dg/misc/configurator.hh b/dune/fem-dg/misc/configurator.hh
index de3ec9b9b52c6310a71a48380ab9e191d4e939e5..1b56df74a1f0566aa0e3947639710e7e3b9e664e 100644
--- a/dune/fem-dg/misc/configurator.hh
+++ b/dune/fem-dg/misc/configurator.hh
@@ -26,7 +26,7 @@ namespace Fem
    * \tparam AdvectionLimiter::Enum enum defining the limiting of the advection operator
    * \tparam Matrix::Enum enum describing whether to assemble or not
    * \tparam AdvectionFlux::Enum enum describing the chosen numerical advection flux,
-     \tparam PrimalDiffusionFlux::Enum enum describing the chosen primal numerical diffusion flux
+     \tparam DiffusionFlux::Enum enum describing the chosen primal numerical diffusion flux
    */
   template< class GridImp,
             Galerkin::Enum dgId,
@@ -36,9 +36,7 @@ namespace Fem
             AdvectionLimiter::Enum advLimitId,
             Matrix::Enum matrixId,
             AdvectionFlux::Enum advFluxId,
-            PrimalDiffusionFlux::Enum diffFluxId,
-            LocalDiffusionFlux::Enum localDiffFluxId = LocalDiffusionFlux::Enum::general,
-            Formulation::Enum formId = Formulation::Enum::primal >
+            DiffusionFlux::Enum diffFluxId>
   class AlgorithmConfigurator
   {
     template< class AnalyticalTraitsImp, class NewModelImp >
@@ -52,6 +50,9 @@ namespace Fem
   public:
     typedef GridImp                                           GridType;
 
+    // select formulation depending on chosen diffusion flux
+    static const Formulation::Enum formId = FormulationSelector< diffFluxId > :: formId ;
+
     using GridParts = typename GridPartSelector< GridType, dgId, adap >::type;
 
     template< int dimRange >
@@ -66,21 +67,20 @@ namespace Fem
     template< class ModelImp, AdvectionFlux::Enum id = advFluxId >
     using AdvectionFluxes = DGAdvectionFlux< ModelImp, id >;
 
-    template< class ModelImp, class DFSpace, PrimalDiffusionFlux::Enum id = diffFluxId, LocalDiffusionFlux::Enum did = localDiffFluxId >
-    using DiffusionFluxes = typename DiffusionFluxSelector< ModelImp, DFSpace, id, did, formId >::type;
+    template< class ModelImp, class DFSpace, DiffusionFlux::Enum id = diffFluxId >
+    using DiffusionFluxes = typename DiffusionFluxSelector< ModelImp, DFSpace, id, formId >::type;
 
     template< class DomainDFSpace,
               class RangeDFSpace,
               int polOrd,
               class AnalyticalTraitsImp,
               AdvectionFlux::Enum advId = advFluxId,
-              PrimalDiffusionFlux::Enum diffId = diffFluxId,
-              LocalDiffusionFlux::Enum localDiffId = localDiffFluxId >
+              DiffusionFlux::Enum diffId = diffFluxId >
     using DefaultAssembTraits = DefaultAssemblerTraits< polOrd,
                                                         AnalyticalTraitsImp,
                                                         typename SolverSelector< solverId, false, DomainDFSpace, RangeDFSpace >::LinearOperatorType,
                                                         AdvectionFluxes< typename AnalyticalTraitsImp::ModelType, advId >,
-                                                        DiffusionFluxes< typename AnalyticalTraitsImp::ModelType, DomainDFSpace, diffId, localDiffId >,
+                                                        DiffusionFluxes< typename AnalyticalTraitsImp::ModelType, DomainDFSpace, diffId >,
                                                         DiscreteFunctions< DomainDFSpace >,
                                                         DiscreteFunctions< RangeDFSpace > >;
     template< class DomainDFSpace,
@@ -89,13 +89,12 @@ namespace Fem
               class ExtraParameterTupleImp = std::tuple<>,
               class AdaptationIndicatorFunctionSpaceImp = typename DomainDFSpace::FunctionSpaceType,
               AdvectionFlux::Enum advId = advFluxId,
-              PrimalDiffusionFlux::Enum diffId = diffFluxId,
-              LocalDiffusionFlux::Enum localDiffId = localDiffFluxId >
+              DiffusionFlux::Enum diffId = diffFluxId>
     using DefaultOpTraits = DefaultOperatorTraits< polOrd,
                                                    AnalyticalTraitsImp,
                                                    DiscreteFunctions< DomainDFSpace >,
                                                    AdvectionFluxes< typename AnalyticalTraitsImp::ModelType, advId >,
-                                                   DiffusionFluxes< typename AnalyticalTraitsImp::ModelType, DomainDFSpace, diffId, localDiffId >,
+                                                   DiffusionFluxes< typename AnalyticalTraitsImp::ModelType, DomainDFSpace, diffId >,
                                                    ExtraParameterTupleImp,
                                                    AdaptationIndicatorFunctionSpaceImp >;
 
diff --git a/dune/fem-dg/operator/fluxes/diffusion/dgprimalfluxes.hh b/dune/fem-dg/operator/fluxes/diffusion/dgprimalfluxes.hh
index f2e57c8821a8410bfb2951dbd6d966e56a54265e..bf99f312f48badb70ce567b53dc002435dc5272d 100644
--- a/dune/fem-dg/operator/fluxes/diffusion/dgprimalfluxes.hh
+++ b/dune/fem-dg/operator/fluxes/diffusion/dgprimalfluxes.hh
@@ -169,7 +169,7 @@ namespace Fem
                                const EnumType staticMethod ) :
       BaseType( model, true, parameters ),
       gridPart_( gridPart ),
-      method_( staticMethod == EnumType::general ? parameters.getMethod() : staticMethod ),
+      method_( staticMethod == EnumType::primal ? parameters.getMethod() : staticMethod ),
       penalty_( parameter().penalty() ),
       nipgFactor_( (method_ == EnumType::nipg) ||
                    (method_ == EnumType::bo)
@@ -1205,7 +1205,7 @@ namespace Fem
     ExtendedDGPrimalDiffusionFlux( GridPartType& gridPart,
                                    const Model& model,
                                    const ParameterType& parameters = ParameterType() )
-      : BaseType( gridPart, model, parameters, BaseType::EnumType::general )
+      : BaseType( gridPart, model, parameters, BaseType::EnumType::primal )
     { }
 
     //! copy constructor (needed for thread parallel programs)
diff --git a/dune/fem-dg/operator/fluxes/diffusion/fluxes.hh b/dune/fem-dg/operator/fluxes/diffusion/fluxes.hh
index 5f348f518194b5af51e5c6ed9e0e34b0e1db6fed..fd3fd4f5e644ee8396678fbd78b73d618202865d 100644
--- a/dune/fem-dg/operator/fluxes/diffusion/fluxes.hh
+++ b/dune/fem-dg/operator/fluxes/diffusion/fluxes.hh
@@ -15,7 +15,7 @@ namespace Fem
    * via an enum given in DiffusionFlux::Enum.
    *
    * \warning NIPG and BO are not implemented since these methods are not so
-   * interesting, use PrimalDiffusionFlux::Enum::general for this
+   * interesting, use PrimalDiffusionFlux::Enum::primal for this
    */
   template <class DiscreteFunctionSpaceImp,
             class Model,
@@ -30,7 +30,7 @@ namespace Fem
    */
   template <class DiscreteFunctionSpaceImp,
             class Model>
-  class DGPrimalDiffusionFlux<  DiscreteFunctionSpaceImp, Model, PrimalDiffusionFlux::Enum::general >
+  class DGPrimalDiffusionFlux<  DiscreteFunctionSpaceImp, Model, PrimalDiffusionFlux::Enum::primal >
     : public DGPrimalDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGPrimalDiffusionFluxParameters >
   {
     typedef DGPrimalDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGPrimalDiffusionFluxParameters >
@@ -47,7 +47,7 @@ namespace Fem
     DGPrimalDiffusionFlux( GridPartType& gridPart,
                            const Model& model,
                            const ParameterType& parameters = ParameterType() )
-      : BaseType( gridPart, model, parameters, PrimalDiffusionFlux::Enum::general )
+      : BaseType( gridPart, model, parameters, PrimalDiffusionFlux::Enum::primal )
     {
     }
   };
@@ -264,8 +264,8 @@ namespace Fem
       * \brief constructor reading parameters
       */
     DGLocalDiffusionFlux( GridPartType& gridPart,
-                         const Model& model,
-                         const ParameterType& parameters = ParameterType() )
+                          const Model& model,
+                          const ParameterType& parameters = ParameterType() )
       : BaseType( gridPart, model, parameters, LocalDiffusionFlux::Enum::ldg )
     {
     }
@@ -273,7 +273,7 @@ namespace Fem
 
   template <class DiscreteFunctionSpaceImp,
             class Model>
-  class DGLocalDiffusionFlux<  DiscreteFunctionSpaceImp, Model, LocalDiffusionFlux::Enum::general >
+  class DGLocalDiffusionFlux<  DiscreteFunctionSpaceImp, Model, LocalDiffusionFlux::Enum::local >
     : public LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGLocalDiffusionFluxParameters >
   {
     typedef LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGLocalDiffusionFluxParameters >
@@ -290,7 +290,7 @@ namespace Fem
     DGLocalDiffusionFlux( GridPartType& gridPart,
                          const Model& model,
                          const ParameterType& parameters = ParameterType() )
-      : BaseType( gridPart, model, parameters, LocalDiffusionFlux::Enum::general )
+      : BaseType( gridPart, model, parameters, LocalDiffusionFlux::Enum::local )
     {
     }
   };
diff --git a/dune/fem-dg/operator/fluxes/diffusion/ldgflux.hh b/dune/fem-dg/operator/fluxes/diffusion/ldgflux.hh
index a6b0a2ca515f41ee941b1a2b9e982fc1b398dd91..7ce14f62d5f9f276e8a944a3987e7b8cb20cbd22 100644
--- a/dune/fem-dg/operator/fluxes/diffusion/ldgflux.hh
+++ b/dune/fem-dg/operator/fluxes/diffusion/ldgflux.hh
@@ -75,7 +75,7 @@ namespace Fem
                          const ParameterType& param,
                          const EnumType staticMethod ) :
       BaseType( gridPart, mod, param ),
-      method_( staticMethod == EnumType::general ? param.getMethod() : staticMethod ),
+      method_( staticMethod == EnumType::local ? param.getMethod() : staticMethod ),
       penalty_( parameter().penalty() ),
       // Set CFL number for penalty term (compare diffusion in first pass)
       penaltyTerm_( std::abs(  penalty_ ) > 0 )
diff --git a/dune/fem-dg/operator/fluxes/diffusion/parameters.hh b/dune/fem-dg/operator/fluxes/diffusion/parameters.hh
index b2b53abd47a798607f6fa45d49275886e2754e7e..95f3835b57f9970713d915ba8e376c7057ac262f 100644
--- a/dune/fem-dg/operator/fluxes/diffusion/parameters.hh
+++ b/dune/fem-dg/operator/fluxes/diffusion/parameters.hh
@@ -9,34 +9,64 @@ namespace Fem
 {
 
   /**
-   * \brief Namespace containing all parameters to select a primal diffusion flux.
+   *  \brief Namespace containing an Enum class to describe the formulation
+   *  \note Selection of operators reflecting the formulation see FormulationSelector
    */
-  namespace PrimalDiffusionFlux
+  namespace Formulation
   {
     /**
-     * \brief Enum of all known primal diffusion flux implementations.
+     * \ingroup FemDGParameter
+     */
+    enum class Enum
+    {
+      primal,
+      local
+    };
+  }
+
+  /**
+   * \brief Namespace containing all parameters to select a DG method available in primal formulation
+   */
+  namespace DiffusionFlux
+  {
+    /**
+     * \brief Enum of all available diffusion flux implementations (priaml and local formulation).
      *
      * \ingroup FemDGParameter
      */
     enum class Enum
     {
-      //! CDG 2 (Compact Discontinuous Galerkin 2) flux.
+      //! BR2 (Bassi-Rebay 2) flux (local formulation).
+      br1,
+      //! LDG (Local Discontinuous Galerkin) flux (local formulation).
+      ldg,
+      //! CDG 2 (Compact Discontinuous Galerkin 2) flux (primal formulation).
       cdg2,
-      //! CDG (Compact Discontinuous Galerkin) flux.
+      //! CDG (Compact Discontinuous Galerkin) flux (primal formulation).
       cdg,
-      //! BR2 (Bassi-Rebay 2) flux.
+      //! BR2 (Bassi-Rebay 2) flux (primal formulation).
       br2,
-      //! IP (Interior Penalty) flux.
+      //! IP (Interior Penalty) flux (primal formulation).
       ip,
-      //! NIPG (Non-symmetric Interior  Penalty) flux.
+      //! NIPG (Non-symmetric Interior  Penalty) flux (primal formulation).
       nipg,
-      //! BO (Baumann-Oden) flux.
+      //! BO (Baumann-Oden) flux (primal formulation).
       bo,
-      //! general flux: Parameter selection is done via parameter file!
-      general,
+      //! general flux primal formulation: Parameter selection is done via parameter file!
+      primal,
+      //! general flux local formulation: Parameter selection is done via parameter file!
+      local,
       //! no diffusion (advection only) flux.
       none
     };
+  }
+
+  /**
+   * \brief Namespace containing all parameters to select a DG method available in primal formulation
+   */
+  namespace PrimalDiffusionFlux
+  {
+    using namespace DiffusionFlux;
 
     //! Contains all known enums for primal diffusion fluxes which can be chosen via parameter file.
     const Enum        _enums[] = { Enum::cdg2, Enum::cdg, Enum::br2, Enum::ip, Enum::nipg, Enum::bo };
@@ -49,20 +79,7 @@ namespace Fem
 
   namespace LocalDiffusionFlux
   {
-    /**
-     * \brief Enum of all known local DG diffusion flux implementations.
-     *
-     * \ingroup FemDGParameter
-     */
-    enum class Enum
-    {
-      //! Bassi-Rebay flux.
-      br1,
-      //! Local DG flux.
-      ldg,
-      //! general flux: Parameter selection is done via parameter file!
-      general
-    };
+    using namespace DiffusionFlux;
 
     //! Contains all known enums for dual diffusion fluxes which can be chosen via parameter file.
     const Enum        _enums[] = { Enum::br1, Enum::ldg };
@@ -267,6 +284,32 @@ namespace Fem
 
   };
 
+  //! formulation selector, either primal or local depending on the flux implementation
+  template <DiffusionFlux::Enum flux>
+  struct FormulationSelector
+  {
+    static const Formulation::Enum formId = Formulation::Enum::primal;
+  };
+
+  template <>
+  struct FormulationSelector< DiffusionFlux::Enum::local >
+  {
+    static const Formulation::Enum formId = Formulation::Enum::local;
+  };
+
+  template <>
+  struct FormulationSelector< DiffusionFlux::Enum::ldg >
+  {
+    static const Formulation::Enum formId = Formulation::Enum::local;
+  };
+
+  template <>
+  struct FormulationSelector< DiffusionFlux::Enum::br1 >
+  {
+    static const Formulation::Enum formId = Formulation::Enum::local;
+  };
+
+
 } // end namespace
 } // end namespace
 #endif