diff --git a/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/ISeedToTrackConversionTool.h b/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/ISeedToTrackConversionTool.h
index 12a0bdf8e2b19e269bab18cc7a0d105dc1f964a2..953f84bb9749267baa84c59f97940009a2ba227c 100644
--- a/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/ISeedToTrackConversionTool.h
+++ b/InnerDetector/InDetRecTools/InDetRecToolInterfaces/InDetRecToolInterfaces/ISeedToTrackConversionTool.h
@@ -19,15 +19,9 @@ class MsgStream;
 
 namespace InDet 
 {
-
-
-  static const InterfaceID IID_ISeedToTrackConversionTool("InDet::ISeedToTrackConversionTool", 1, 0);
-
   class ISeedToTrackConversionTool : virtual public IAlgTool {
   public:
-    static const InterfaceID& interfaceID( ) ;
-    virtual StatusCode initialize ()=0;
-    virtual StatusCode finalize()=0;
+    DeclareInterfaceID(ISeedToTrackConversionTool, 1, 0);
     virtual void executeSiSPSeedSegments(const Trk::TrackParameters*,const int&, const std::list<const Trk::SpacePoint*>&) const =0;
     virtual void newEvent(const Trk::TrackInfo&, const std::string&) const =0;
     virtual void endEvent() const =0;
@@ -45,10 +39,6 @@ namespace InDet
   // Overload of << operator for MsgStream and  std::ostream
   MsgStream&    operator << (MsgStream&   ,const ISeedToTrackConversionTool&);
   std::ostream& operator << (std::ostream&,const ISeedToTrackConversionTool&);
-  inline const InterfaceID& ISeedToTrackConversionTool::interfaceID()
-    { 
-      return IID_ISeedToTrackConversionTool; 
-    }
 
   // Overload of << operator MsgStream
   inline MsgStream& operator    <<
diff --git a/InnerDetector/InDetRecTools/SeedToTrackConversionTool/SeedToTrackConversionTool/SeedToTrackConversionTool.h b/InnerDetector/InDetRecTools/SeedToTrackConversionTool/SeedToTrackConversionTool/SeedToTrackConversionTool.h
index ff72909a0a6c8376cdc87f8070c44909dfea03bb..ba641ae033ed7a151a30a06cfb051b470373111f 100644
--- a/InnerDetector/InDetRecTools/SeedToTrackConversionTool/SeedToTrackConversionTool/SeedToTrackConversionTool.h
+++ b/InnerDetector/InDetRecTools/SeedToTrackConversionTool/SeedToTrackConversionTool/SeedToTrackConversionTool.h
@@ -39,7 +39,7 @@ namespace InDet
       @author  Weiming Yao <Weiming.Yao>
   */  
 
-  class SeedToTrackConversionTool : virtual public ISeedToTrackConversionTool, public AthAlgTool
+  class SeedToTrackConversionTool : public extends<AthAlgTool, ISeedToTrackConversionTool>
   {
   public:
     SeedToTrackConversionTool(const std::string&,const std::string&,const IInterface*);
diff --git a/InnerDetector/InDetRecTools/SeedToTrackConversionTool/src/SeedToTrackConversionTool.cxx b/InnerDetector/InDetRecTools/SeedToTrackConversionTool/src/SeedToTrackConversionTool.cxx
index 92df3f1ca80cf5ba97794a29e6752c8cf9825116..47b3078da61f49c00783776b69b60956667c0523 100644
--- a/InnerDetector/InDetRecTools/SeedToTrackConversionTool/src/SeedToTrackConversionTool.cxx
+++ b/InnerDetector/InDetRecTools/SeedToTrackConversionTool/src/SeedToTrackConversionTool.cxx
@@ -22,9 +22,8 @@
 InDet::SeedToTrackConversionTool::SeedToTrackConversionTool(const std::string& t,
                                                             const std::string& n,
                                                             const IInterface* p)
-  : AthAlgTool(t, n, p)
+  : base_class(t, n, p)
 {
-  declareInterface<ISeedToTrackConversionTool>(this);
 }
 
 //================ Initialisation =================================================