diff --git a/Tracking/Acts/ActsPriVtxFinder/ActsPriVtxFinder/ActsAdaptiveMultiPriVtxFinderTool.h b/Tracking/Acts/ActsPriVtxFinder/ActsPriVtxFinder/ActsAdaptiveMultiPriVtxFinderTool.h
index f9d0aeeb4dedc64a68c209eac470dc0784557112..b32e90916b8e29a501600519db2ae2c9a976ebd3 100644
--- a/Tracking/Acts/ActsPriVtxFinder/ActsPriVtxFinder/ActsAdaptiveMultiPriVtxFinderTool.h
+++ b/Tracking/Acts/ActsPriVtxFinder/ActsPriVtxFinder/ActsAdaptiveMultiPriVtxFinderTool.h
@@ -15,9 +15,9 @@
 #include "TrkTrackLink/ITrackLink.h"
 #include "InDetTrackSelectionTool/IInDetTrackSelectionTool.h"
 #include "TrkTrack/LinkToTrack.h"
+#include "InDetRecToolInterfaces/IVertexFinder.h"
 
 // PACKAGE
-#include "ActsPriVtxFinderInterfaces/IActsPriVtxFinderTool.h"
 #include "ActsGeometryInterfaces/IActsTrackingGeometryTool.h"
 #include "ActsGeometry/ActsGeometryContext.h"
 #include "ActsGeometry/ATLASMagneticFieldWrapper.h"
@@ -53,7 +53,7 @@ class BoundaryCheck;
 }
 
 
-class ActsAdaptiveMultiPriVtxFinderTool : public extends<AthAlgTool, IActsPriVtxFinderTool>
+class ActsAdaptiveMultiPriVtxFinderTool : public extends<AthAlgTool, InDet::IVertexFinder>
 {
 
 // Track wrapper input for the Acts vertexing
@@ -81,19 +81,16 @@ public:
 	           const IInterface* parent);
 
   virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-     findVertex(const TrackCollection* trackTES, const EventContext& ctx) const override;
+     findVertex(const EventContext& ctx, const TrackCollection* trackTES) const override;
 
   virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-     findVertex(const Trk::TrackParticleBaseCollection* trackTES, const EventContext& ctx) const override;
-
-  virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-     findVertex(const xAOD::TrackParticleContainer* trackParticles, const EventContext& ctx) const override;
+     findVertex(const EventContext& ctx, const xAOD::TrackParticleContainer* trackParticles) const override;
 
 
 private:
 
   std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> 
-  findVertex(const std::vector<const Trk::ITrackLink*>& trackVector, const EventContext& ctx) const;
+  findVertex(const EventContext& ctx, const std::vector<const Trk::ITrackLink*>& trackVector) const;
 
   Trk::Perigee* actsBoundToTrkPerigee(
   const Acts::BoundParameters& bound, const Acts::Vector3D& surfCenter) const;
diff --git a/Tracking/Acts/ActsPriVtxFinder/CMakeLists.txt b/Tracking/Acts/ActsPriVtxFinder/CMakeLists.txt
index 6e603783970712b3941f0cb8e299f1a777d8fd19..678d2334b1bea5a430d3384d60dfd0ff315073dc 100644
--- a/Tracking/Acts/ActsPriVtxFinder/CMakeLists.txt
+++ b/Tracking/Acts/ActsPriVtxFinder/CMakeLists.txt
@@ -22,7 +22,6 @@ atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           MagneticField/MagFieldInterfaces
                           Calorimeter/CaloDetDescr
-                          Tracking/Acts/ActsPriVtxFinderInterfaces
                           Tracking/Acts/ActsInterop
                           Tracking/TrkEvent/TrkTrackLink
                           Tracking/TrkEvent/TrkLinks 
@@ -34,7 +33,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkEvent/VxVertex
                           Tracking/TrkVertexFitter/TrkVertexFitterInterfaces
-                          Tracking/ActsPriVtxFinderInterfaces)
+                          InnerDetector/InDetRecTools/InDetRecToolInterfaces )
 
 # External dependencies:
 find_package( CLHEP )
@@ -69,7 +68,7 @@ atlas_add_library( ActsPriVtxFinderLib
                    VxVertex
                    TrkVertexFitterInterfaces
                    AthenaMonitoringKernelLib
-                   ActsPriVtxFinderInterfacesLib)
+                   InDetRecToolInterfaces )
 
 atlas_add_component( ActsPriVtxFinder
                      src/*.cxx
@@ -95,7 +94,7 @@ atlas_add_component( ActsPriVtxFinder
                      VxVertex
                      TrkVertexFitterInterfaces 
                      AthenaMonitoringKernelLib
-                     ActsPriVtxFinderInterfacesLib)
+                     InDetRecToolInterfaces )
 
 # Install files from the package:
 atlas_install_headers( ActsPriVtxFinder )
diff --git a/Tracking/Acts/ActsPriVtxFinder/src/ActsAdaptiveMultiPriVtxFinderTool.cxx b/Tracking/Acts/ActsPriVtxFinder/src/ActsAdaptiveMultiPriVtxFinderTool.cxx
index fc4f1d60b62f868c7a0b80be2618f795c27dbd30..7282e9b8673f86ad780fea61d37b4a1b4080420b 100755
--- a/Tracking/Acts/ActsPriVtxFinder/src/ActsAdaptiveMultiPriVtxFinderTool.cxx
+++ b/Tracking/Acts/ActsPriVtxFinder/src/ActsAdaptiveMultiPriVtxFinderTool.cxx
@@ -38,7 +38,6 @@ namespace
     operator < (const VertexAndSignalComp& other) const
     {return second > other.second;}
   };
-
   } //anonymous namespace
 
   ActsAdaptiveMultiPriVtxFinderTool::ActsAdaptiveMultiPriVtxFinderTool(const std::string& type, const std::string& name,
@@ -194,19 +193,19 @@ ActsAdaptiveMultiPriVtxFinderTool::initialize()
 }
 
 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-ActsAdaptiveMultiPriVtxFinderTool::findVertex(const TrackCollection* trackTES,  const EventContext& ctx) const
+ActsAdaptiveMultiPriVtxFinderTool::findVertex(const EventContext& ctx, const TrackCollection* trackTES) const
 {
-    SG::ReadCondHandle<InDet::BeamSpotData> beamSpotHandle { m_beamSpotKey, ctx};
-    const Trk::RecVertex& beamposition(beamSpotHandle->beamVtx());
+  SG::ReadCondHandle<InDet::BeamSpotData> beamSpotHandle { m_beamSpotKey, ctx};
+  const Trk::RecVertex& beamposition(beamSpotHandle->beamVtx());
 
-    std::vector<const Trk::ITrackLink*> selectedTracks;
+  std::vector<const Trk::ITrackLink*> selectedTracks;
 
-    typedef DataVector<Trk::Track>::const_iterator TrackDataVecIter;
+  typedef DataVector<Trk::Track>::const_iterator TrackDataVecIter;
 
-    bool selectionPassed;
-    for (TrackDataVecIter itr = (*trackTES).begin(); itr != (*trackTES).end(); itr++) {
-      if (m_useBeamConstraint) {
-        selectionPassed = static_cast<bool>(m_trkFilter->accept(**itr, &beamposition));
+  bool selectionPassed;
+  for (TrackDataVecIter itr = (*trackTES).begin(); itr != (*trackTES).end(); itr++) {
+    if (m_useBeamConstraint) {
+      selectionPassed = static_cast<bool>(m_trkFilter->accept(**itr, &beamposition));
     } else {
         Trk::Vertex null(Amg::Vector3D(0, 0, 0));
         selectionPassed = static_cast<bool>(m_trkFilter->accept(**itr, &null));
@@ -218,73 +217,34 @@ ActsAdaptiveMultiPriVtxFinderTool::findVertex(const TrackCollection* trackTES,
         linkTT->setStorableObject(*trackTES);
         selectedTracks.push_back(linkTT);
     }
-}
-
-std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> returnContainers = findVertex(selectedTracks, ctx);
-
-for(auto& trk : selectedTracks){
-  delete trk;
-}
-
-return returnContainers;
-}
-
-std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-ActsAdaptiveMultiPriVtxFinderTool::findVertex(const Trk::TrackParticleBaseCollection* trackTES, const EventContext& ctx) const
-{
-
-
-    std::vector<const Trk::ITrackLink*> selectedTracks;
-
-    SG::ReadCondHandle<InDet::BeamSpotData> beamSpotHandle { m_beamSpotKey, ctx};
-    const Trk::RecVertex &beamposition(beamSpotHandle->beamVtx());
-
-    typedef DataVector<Trk::TrackParticleBase>::const_iterator TrackParticleDataVecIter;
-
-    bool  selectionPassed;
-    for (TrackParticleDataVecIter itr = (*trackTES).begin(); itr != (*trackTES).end(); itr++) {
-      if (m_useBeamConstraint) {
-        selectionPassed = static_cast<bool>(m_trkFilter->accept(*((*itr)->originalTrack()), &beamposition));
-    } else {
-        Trk::Vertex null(Amg::Vector3D(0, 0, 0));
-        selectionPassed = static_cast<bool>(m_trkFilter->accept(*((*itr)->originalTrack()), &null)); // TODO: change trkFilter?
-    }
-
-    if (selectionPassed) {
-        ElementLink<Trk::TrackParticleBaseCollection> link;
-        link.setElement(const_cast<Trk::TrackParticleBase*>(*itr));
-        Trk::LinkToTrackParticleBase* linkTT = new Trk::LinkToTrackParticleBase(link);
-        linkTT->setStorableObject(*trackTES);
-        selectedTracks.push_back(linkTT);
-    }
-}
+  }
 
-std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> returnContainers = findVertex(selectedTracks, ctx);
+  std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> returnContainers = findVertex(ctx, selectedTracks);
 
-for(auto& trk : selectedTracks){
-  delete trk;
-}
+  for(auto& trk : selectedTracks){
+    delete trk;
+  }
 
-return returnContainers;
+  return returnContainers;
 }
 
 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-ActsAdaptiveMultiPriVtxFinderTool::findVertex(const xAOD::TrackParticleContainer* trackParticles, const EventContext& ctx) const
+ActsAdaptiveMultiPriVtxFinderTool::findVertex(const EventContext& ctx, const xAOD::TrackParticleContainer* trackParticles) const
 {
 
-    std::vector<const Trk::ITrackLink*> selectedTracks;
-    SG::ReadCondHandle<InDet::BeamSpotData> beamSpotHandle { m_beamSpotKey, ctx};
-    xAOD::Vertex beamposition;
-    beamposition.makePrivateStore();
-    beamposition.setPosition(beamSpotHandle->beamVtx().position());
-    beamposition.setCovariancePosition(beamSpotHandle->beamVtx().covariancePosition());
+  std::vector<const Trk::ITrackLink*> selectedTracks;
+  SG::ReadCondHandle<InDet::BeamSpotData> beamSpotHandle { m_beamSpotKey, ctx};
+  xAOD::Vertex beamposition;
+  beamposition.makePrivateStore();
+  beamposition.setPosition(beamSpotHandle->beamVtx().position());
+  beamposition.setCovariancePosition(beamSpotHandle->beamVtx().covariancePosition());
 
-    typedef DataVector<xAOD::TrackParticle>::const_iterator TrackParticleDataVecIter;
+  typedef DataVector<xAOD::TrackParticle>::const_iterator TrackParticleDataVecIter;
 
-    bool selectionPassed;
-    for (TrackParticleDataVecIter itr = (*trackParticles).begin(); itr != (*trackParticles).end(); itr++) {
-      if (m_useBeamConstraint) {
-        selectionPassed = static_cast<bool>(m_trkFilter->accept(**itr, &beamposition));
+  bool selectionPassed;
+  for (TrackParticleDataVecIter itr = (*trackParticles).begin(); itr != (*trackParticles).end(); itr++) {
+    if (m_useBeamConstraint) {
+      selectionPassed = static_cast<bool>(m_trkFilter->accept(**itr, &beamposition));
     } else {
         xAOD::Vertex null;
         null.makePrivateStore();
@@ -302,16 +262,16 @@ ActsAdaptiveMultiPriVtxFinderTool::findVertex(const xAOD::TrackParticleContainer
         linkTT->setStorableObject(*trackParticles);
         selectedTracks.push_back(linkTT);
     }
-}
+  }
 
-std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> returnContainers = findVertex(selectedTracks, ctx);
+  std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> returnContainers = findVertex(ctx, selectedTracks);
 
-return returnContainers;
+  return returnContainers;
 }
 
 
 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> 
-ActsAdaptiveMultiPriVtxFinderTool::findVertex(const std::vector<const Trk::ITrackLink*>& trackVector, const EventContext& ctx) const
+ActsAdaptiveMultiPriVtxFinderTool::findVertex(const EventContext& ctx, const std::vector<const Trk::ITrackLink*>& trackVector) const
 {
     using namespace Acts::UnitLiterals;
 
@@ -357,22 +317,22 @@ ActsAdaptiveMultiPriVtxFinderTool::findVertex(const std::vector<const Trk::ITrac
     , 0. , 0. , 0. , 0., 0., 1.;
 
     allTracks.emplace_back((*trkiter),Acts::BoundParameters(geoContext, covMat, actsParams, perigeeSurface));
-}
+  }
 
-std::vector<const TrackWrapper*> allTrackPtrs;
-for(const auto& trk : allTracks){
-  allTrackPtrs.push_back(&trk);
-}
+  std::vector<const TrackWrapper*> allTrackPtrs;
+  for(const auto& trk : allTracks){
+    allTrackPtrs.push_back(&trk);
+  }
 
-Acts::VertexingOptions<TrackWrapper> vertexingOptions(geoContext,
-   magFieldContext);
+  Acts::VertexingOptions<TrackWrapper> vertexingOptions(geoContext,
+     magFieldContext);
 
-if(!m_useBeamConstraint){
-  beamSpotConstraintVtx.setPosition(Acts::Vector3D::Zero());
-  beamSpotConstraintVtx.setCovariance(Acts::ActsSymMatrixD<3>::Zero());
-}
+  if(!m_useBeamConstraint){
+    beamSpotConstraintVtx.setPosition(Acts::Vector3D::Zero());
+    beamSpotConstraintVtx.setCovariance(Acts::ActsSymMatrixD<3>::Zero());
+  }
 
-vertexingOptions.vertexConstraint = beamSpotConstraintVtx;
+  vertexingOptions.vertexConstraint = beamSpotConstraintVtx;
 
     // TODO: change when available
     //VertexFinder::State finderState;
@@ -442,10 +402,6 @@ vertexingOptions.vertexConstraint = beamSpotConstraintVtx;
   }
 
 for(unsigned int i = 0; i < vtxList.size(); i++){
-      // TODO: can I add the vertex here to the container and the aux store
-      // is still filled with all needed data? 
-      // See example below for dummy vertex where it's different, but I made private
-      // store above...?
     auto vtx = vtxList[i].first;
     theVertexContainer->push_back(vtx);
     if(i == 0){
diff --git a/Tracking/Acts/ActsPriVtxFinderInterfaces/ActsPriVtxFinderInterfaces/IActsPriVtxFinderTool.h b/Tracking/Acts/ActsPriVtxFinderInterfaces/ActsPriVtxFinderInterfaces/IActsPriVtxFinderTool.h
deleted file mode 100644
index 391690fa470cdb40db468cc3529746853b7b5da7..0000000000000000000000000000000000000000
--- a/Tracking/Acts/ActsPriVtxFinderInterfaces/ActsPriVtxFinderInterfaces/IActsPriVtxFinderTool.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef ACTSPRIVTXFINDERINTERFACES_IACTSPRIVTXFINDERTOOL_H
-#define ACTSPRIVTXFINDERINTERFACES_IACTSPRIVTXFINDERTOOL_H
-
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "GaudiKernel/IInterface.h"
-#include "GaudiKernel/IAlgTool.h"
-#include "GaudiKernel/EventContext.h"
-//#include "ActsGeometry/ActsGeometryContext.h"
-
-
-#include "xAODTracking/VertexContainerFwd.h"
-#include "xAODTracking/TrackParticleContainerFwd.h"
-#include "xAODTracking/VertexAuxContainer.h"
-#include "TrkTrack/TrackCollection.h"
-#include "TrkParticleBase/TrackParticleBaseCollection.h"
-
-class IActsPriVtxFinderTool : virtual public IAlgTool {
-  public:
-
-  DeclareInterfaceID(IActsPriVtxFinderTool, 1, 0);
-
-  virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-  	 findVertex(const TrackCollection* trackTES, const EventContext& ctx) const = 0;
-
-  virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-  	 findVertex(const Trk::TrackParticleBaseCollection* trackTES, const EventContext& ctx) const = 0;
-
-  virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
-  	 findVertex(const xAOD::TrackParticleContainer* trackParticles, const EventContext& ctx) const = 0;
-  
-};
-
-#endif
diff --git a/Tracking/Acts/ActsPriVtxFinderInterfaces/CMakeLists.txt b/Tracking/Acts/ActsPriVtxFinderInterfaces/CMakeLists.txt
deleted file mode 100644
index 845f83309c5e756c12b1ca2feec348142daa69e0..0000000000000000000000000000000000000000
--- a/Tracking/Acts/ActsPriVtxFinderInterfaces/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-# Declare the package name:
-atlas_subdir( ActsPriVtxFinderInterfaces )
-
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          PRIVATE
-                          Control/StoreGate
-                          AthenaKernel
-                          AthenaBaseComps
-                          GaudiKernel
-                          ActsInterop
-                          Event/xAOD/xAODTracking
-                          Tracking/TrkEvent/TrkParameters
-                          Tracking/TrkEvent/TrkParticleBase
-                          Tracking/TrkEvent/TrkTrack
-                          Tracking/TrkEvent/VxVertex )
-
-# External dependencies:
-find_package( Eigen )
-find_package( Acts COMPONENTS Core )
-
-# Component(s) in the package:
-
-atlas_add_library( ActsPriVtxFinderInterfacesLib
-                   ActsPriVtxFinderInterfaces/*.h
-                   INTERFACE
-                   PUBLIC_HEADERS ActsPriVtxFinderInterfaces
-                   INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${EIGEN_LIBRARIES}
-                   AthenaKernel
-                   ActsInteropLib
-                   ActsCore
-                   xAODTracking
-                   TrkParameters
-                   TrkParticleBase
-                   TrkTrack VxVertex)
-