diff --git a/Phys/LoKiAlgo/LoKi/Algo.h b/Phys/LoKiAlgo/LoKi/Algo.h
index 40df5684b06ab039e9895aa64dc052acab548256..6002dbeea98c3913e0a95a32e3540d2eaab4fef6 100644
--- a/Phys/LoKiAlgo/LoKi/Algo.h
+++ b/Phys/LoKiAlgo/LoKi/Algo.h
@@ -1257,24 +1257,16 @@ namespace LoKi                                                                \
 {                                                                             \
   class ALGNAME : public LoKi::Algo                                           \
   {                                                                           \
-    /** friend factory for instantiation      */                              \
-    friend class AlgFactory<LoKi::ALGNAME>  ;                                 \
   public:                                                                     \
-    /** standard method for event analysis    */                              \
-    virtual StatusCode analyse  ()          ;                                 \
-  protected:                                                                  \
     /** standard constructor                  */                              \
-    ALGNAME( const std::string& name ,                                        \
-               ISvcLocator*       svc  )    ;                                 \
-    /** virtual destructor                    */                              \
-    virtual ~ALGNAME ()                   ;                                   \
+    using LoKi::Algo::Algo                  ;                                 \
+    /** standard method for event analysis    */                              \
+    StatusCode analyse  ()    override      ;                                 \
   private:                                                                    \
-    /** default constructor  is private       */                              \
-    ALGNAME             ()                  ;                                 \
     /** copy constructor     is private       */                              \
-    ALGNAME             ( const ALGNAME & ) ;                                 \
+    ALGNAME             ( const ALGNAME & ) = delete;                         \
     /** assignement operator is private       */                              \
-    ALGNAME & operator= ( const ALGNAME & ) ;                                 \
+    ALGNAME & operator= ( const ALGNAME & ) = delete;                         \
   };                                                                          \
 } // end of namespace LoKi
 // ============================================================================
@@ -1323,17 +1315,7 @@ namespace LoKi                                                                \
 /* ======================================================================== */ \
 /** Declaration of the Algorithm Factory                                    */ \
 /* ======================================================================== */ \
-DECLARE_NAMESPACE_ALGORITHM_FACTORY( LoKi , ALGNAME )                          \
-/* ======================================================================== */ \
-/** Standard constructor                                                    */ \
-/* ======================================================================== */ \
-LoKi::ALGNAME::ALGNAME ( const std::string& name  ,                            \
-                         ISvcLocator*       svc   )                            \
-: LoKi::Algo( name , svc ) {}   /* constructor for base class */               \
-/* ======================================================================== */ \
-/** destructor (empty)                                                      */ \
-/* ======================================================================== */ \
-LoKi::ALGNAME ::~ALGNAME () {}
+DECLARE_NAMESPACE_ALGORITHM_FACTORY( LoKi , ALGNAME )
 // ============================================================================
 /** @def LOKI_ALGORITHM_FULLIMPLEMENT
  *