diff --git a/AtlasGeometryCommon/BeamPipeGeoModel/python/BeamPipeGMConfig.py b/AtlasGeometryCommon/BeamPipeGeoModel/python/BeamPipeGMConfig.py
index 4c6ebf7b71f6d1b5a17e5b1f217375cfa496860a..521390cc0033664527c6681a37b0499fcc26bbf9 100644
--- a/AtlasGeometryCommon/BeamPipeGeoModel/python/BeamPipeGMConfig.py
+++ b/AtlasGeometryCommon/BeamPipeGeoModel/python/BeamPipeGMConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def BeamPipeGeometryCfg(flags):
     result=GeoModelCfg(flags)
-    from BeamPipeGeoModel.BeamPipeGeoModelConf import BeamPipeDetectorTool
+    BeamPipeDetectorTool=CompFactory.BeamPipeDetectorTool
     result.getPrimary().DetectorTools += [ BeamPipeDetectorTool() ]
     return result
diff --git a/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py b/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
index 2d035a98176e916324b3c7fb8b80abb968696a99..af1312ed447c67419fe24b6631711829a3f84cff 100644
--- a/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
+++ b/AtlasGeometryCommon/SubDetectorEnvelopes/python/SubDetectorEnvelopesConfigNew.py
@@ -6,8 +6,9 @@ Elmar Ritsch, 27/09/2013
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from SubDetectorEnvelopes.SubDetectorEnvelopesConf import DetDescrDBEnvelopeSvc
+DetDescrDBEnvelopeSvc=CompFactory.DetDescrDBEnvelopeSvc
 
 def EnvelopeDefSvcCfg(ConfigFlags, name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
     result = ComponentAccumulator()
diff --git a/Calorimeter/CaloBadChannelTool/python/CaloBadChanToolConfig.py b/Calorimeter/CaloBadChannelTool/python/CaloBadChanToolConfig.py
index e73fa3488c69a1f0e4223418c28e790e295ccf5e..8ac4ed0ab2b8893e0abf21396679c7605a6886b7 100644
--- a/Calorimeter/CaloBadChannelTool/python/CaloBadChanToolConfig.py
+++ b/Calorimeter/CaloBadChannelTool/python/CaloBadChanToolConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured private Calo bad channels tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def CaloBadChanToolCfg(flags, **kwargs):
     """Return component accumulator with configured private Calo bad channels tool
@@ -22,7 +23,7 @@ def CaloBadChanToolCfg(flags, **kwargs):
         badChannelsTool = acc.popToolsAndMerge( TileBadChanToolCfg(flags) )
         kwargs['TileBadChanTool'] = badChannelsTool
 
-    from CaloBadChannelTool.CaloBadChannelToolConf import CaloBadChanTool
+    CaloBadChanTool=CompFactory.CaloBadChanTool
     acc.setPrivateTools(CaloBadChanTool(**kwargs))
 
     return acc
diff --git a/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py b/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py
index 53e043062d6eb86f5ff406343d1bec1ec981c8bc..189bc80941b159df4cff9d37dd05b14ae5e531cc 100644
--- a/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py
+++ b/Calorimeter/CaloCellCorrection/python/CaloCellCorrectionConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from DetDescrCnvSvc.DetDescrCnvSvcConfig import DetDescrCnvSvcCfg
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
 def CaloCellPedestalCorrCfg(configFlags):
-   from CaloCellCorrection.CaloCellCorrectionConf import CaloCellPedestalCorr
+   CaloCellPedestalCorr=CompFactory.CaloCellPedestalCorr
 
    result=DetDescrCnvSvcCfg(configFlags)
    isMC=configFlags.Input.isMC
@@ -57,7 +58,7 @@ def CaloCellNeighborsAverageCorrCfg(flags):
     from TileGeoModel.TileGMConfig import TileGMCfg
     acc.merge(TileGMCfg(flags))
 
-    from CaloCellCorrection.CaloCellCorrectionConf import CaloCellNeighborsAverageCorr
+    CaloCellNeighborsAverageCorr=CompFactory.CaloCellNeighborsAverageCorr
     caloCellNeighborsAverageCorrection = CaloCellNeighborsAverageCorr(testMode = False)
 
     acc.setPrivateTools( caloCellNeighborsAverageCorrection )
@@ -65,7 +66,7 @@ def CaloCellNeighborsAverageCorrCfg(flags):
 
 
 def CaloCellTimeCorrCfg(configFlags):
-   from CaloCellCorrection.CaloCellCorrectionConf import CaloCellTimeCorrTool
+   CaloCellTimeCorrTool=CompFactory.CaloCellTimeCorrTool
    result=ComponentAccumulator()
    folder= "/LAR/TimeCorrectionOfl/CellTimeOffset"
    result.merge(addFolders(configFlags,[folder,], "LAR_OFL", className="AthenaAttributeList"))
@@ -74,7 +75,7 @@ def CaloCellTimeCorrCfg(configFlags):
 
 
 def CaloEnergyRescalerCfg(configFlags):
-   from CaloCellCorrection.CaloCellCorrectionConf import CaloCellEnergyRescaler
+   CaloCellEnergyRescaler=CompFactory.CaloCellEnergyRescaler
    result=ComponentAccumulator()
    folder="/LAR/CellCorrOfl/EnergyCorr"
    result.merge(addFolders(configFlags,[folder,], "LAR_OFL", className="AthenaAttributeList"))
diff --git a/Calorimeter/CaloRec/python/CaloBCIDAvgAlgConfig.py b/Calorimeter/CaloRec/python/CaloBCIDAvgAlgConfig.py
index 4a63e19b0a0985f18854622bbab1d95b31b7aac2..01d0fb73a189082d6670e8ed75ebb2f37d2d4ccd 100644
--- a/Calorimeter/CaloRec/python/CaloBCIDAvgAlgConfig.py
+++ b/Calorimeter/CaloRec/python/CaloBCIDAvgAlgConfig.py
@@ -5,13 +5,14 @@
 # Purpose: Configure CaloBCIDAvgAlg.
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 def CaloBCIDAvgAlgCfg (flags):
     from IOVDbSvc.IOVDbSvcConfig import addFolderList
-    from CaloRec.CaloRecConf import CaloBCIDAvgAlg
+    CaloBCIDAvgAlg=CompFactory.CaloBCIDAvgAlg
 
     result = ComponentAccumulator()
 
diff --git a/Calorimeter/CaloRec/python/CaloCellMakerConfig.py b/Calorimeter/CaloRec/python/CaloCellMakerConfig.py
index 60783ba00204cbb0afd1c38dfdb7be7ad7a4dce6..74448086d338a44c1ef5e8363988cb5d241732d3 100644
--- a/Calorimeter/CaloRec/python/CaloCellMakerConfig.py
+++ b/Calorimeter/CaloRec/python/CaloCellMakerConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-#from LArCellRec.LArCellRecConf import LArCellBuilderFromLArRawChannelTool
-from CaloRec.CaloRecConf import CaloCellMaker, CaloCellContainerFinalizerTool     
+from AthenaConfiguration.ComponentFactory import CompFactory
+#LArCellBuilderFromLArRawChannelTool=CompFactory.LArCellBuilderFromLArRawChannelTool
+CaloCellMaker, CaloCellContainerFinalizerTool     =CompFactory.getComps("CaloCellMaker","CaloCellContainerFinalizerTool",)
 from LArCellRec.LArCellBuilderConfig import LArCellBuilderCfg,LArCellCorrectorCfg
 from TileRecUtils.TileCellBuilderConfig import TileCellBuilderCfg
 from CaloCellCorrection.CaloCellCorrectionConfig import CaloCellPedestalCorrCfg, CaloCellNeighborsAverageCorrCfg, CaloCellTimeCorrCfg, CaloEnergyRescalerCfg
diff --git a/Calorimeter/CaloRec/python/CaloRecoConfig.py b/Calorimeter/CaloRec/python/CaloRecoConfig.py
index 49f6fd4330d02dda70c5a44ba9db10a72bf12338..060943e4ce844987b396acae192b3e3aeb80861e 100644
--- a/Calorimeter/CaloRec/python/CaloRecoConfig.py
+++ b/Calorimeter/CaloRec/python/CaloRecoConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def CaloRecoCfg(configFlags):
     
@@ -51,10 +52,10 @@ if __name__=="__main__":
     acc.merge(CaloRecoCfg(ConfigFlags))
 
 
-    from CaloRec.CaloRecConf import CaloCellDumper
+    CaloCellDumper=CompFactory.CaloCellDumper
     acc.addEventAlgo(CaloCellDumper())
 
-    from xAODCaloEventCnv.xAODCaloEventCnvConf import ClusterDumper
+    ClusterDumper=CompFactory.ClusterDumper
     acc.addEventAlgo(ClusterDumper("TopoDumper",ContainerName="CaloCalTopoClusters",FileName="TopoCluster.txt"))
 
     f=open("CaloRec.pkl","wb")
diff --git a/Calorimeter/CaloRec/python/CaloTopoClusterConfig.py b/Calorimeter/CaloRec/python/CaloTopoClusterConfig.py
index 9e207e062a26eb4ac6ec08547a0a858687b962d7..a728c3801cede012392fb2d0f89e3aa94599a271 100644
--- a/Calorimeter/CaloRec/python/CaloTopoClusterConfig.py
+++ b/Calorimeter/CaloRec/python/CaloTopoClusterConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.SystemOfUnits import MeV
 
 def caloTopoCoolFolderCfg(configFlags):
@@ -26,8 +27,8 @@ def caloTopoCoolFolderCfg(configFlags):
     return result
 
 def getTopoClusterLocalCalibTools(configFlags):
-    from CaloUtils.CaloUtilsConf import CaloLCClassificationTool, CaloLCWeightTool, CaloLCOutOfClusterTool, CaloLCDeadMaterialTool
-    from CaloClusterCorrection.CaloClusterCorrectionConf import CaloClusterLocalCalib
+    CaloLCClassificationTool, CaloLCWeightTool, CaloLCOutOfClusterTool, CaloLCDeadMaterialTool=CompFactory.getComps("CaloLCClassificationTool","CaloLCWeightTool","CaloLCOutOfClusterTool","CaloLCDeadMaterialTool",)
+    CaloClusterLocalCalib=CompFactory.CaloClusterLocalCalib
     # Local cell weights
     LCClassify   = CaloLCClassificationTool("LCClassify")
     LCClassify.ClassificationKey   = "EMFracClassify"
@@ -93,7 +94,7 @@ def getTopoClusterLocalCalibTools(configFlags):
     return lccalibtools
 
 def getTopoMoments(configFlags):
-    from CaloRec.CaloRecConf import CaloClusterMomentsMaker
+    CaloClusterMomentsMaker=CompFactory.CaloClusterMomentsMaker
     TopoMoments = CaloClusterMomentsMaker ("TopoMoments")
     TopoMoments.WeightingOfNegClusters = configFlags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
     from AthenaCommon.SystemOfUnits import deg
@@ -143,7 +144,7 @@ def getTopoMoments(configFlags):
         # only add HV related moments if it is offline.
         # from IOVDbSvc.CondDB import conddb
         # if not conddb.isOnline:
-        from LArCellRec.LArCellRecConf import LArHVFraction
+        LArHVFraction=CompFactory.LArHVFraction
         if configFlags.Input.isMC:
             TopoMoments.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorr")
         else:
@@ -156,9 +157,9 @@ def getTopoMoments(configFlags):
 
 # a.k.a. DigiTruth
 def getTopoTruthMoments(configFlags):
-    from CaloRec.CaloRecConf import CaloClusterMomentsMaker_DigiHSTruth
+    CaloClusterMomentsMaker_DigiHSTruth=CompFactory.CaloClusterMomentsMaker_DigiHSTruth
     TopoMoments_Truth = CaloClusterMomentsMaker_DigiHSTruth ("TopoMoments_Truth")
-    from LArCellRec.LArCellRecConf import LArHVFraction
+    LArHVFraction=CompFactory.LArHVFraction
     TopoMoments_Truth.LArHVFraction=LArHVFraction(HVScaleCorrKey="LArHVScaleCorr")
     TopoMoments_Truth.WeightingOfNegClusters = configFlags.Calo.TopoCluster.doTreatEnergyCutAsAbsolute
     from AthenaCommon.SystemOfUnits import deg
@@ -197,7 +198,7 @@ def getTopoTruthMoments(configFlags):
     return TopoMoments_Truth
 
 def getTopoCalibMoments(configFlags):
-    from CaloCalibHitRec.CaloCalibHitRecConf import CaloCalibClusterMomentsMaker2
+    CaloCalibClusterMomentsMaker2=CompFactory.CaloCalibClusterMomentsMaker2
     TopoCalibMoments = CaloCalibClusterMomentsMaker2 ("TopoCalibMoments")
     TopoCalibMoments.MomentsNames = ["ENG_CALIB_TOT"
                                      ,"ENG_CALIB_OUT_L"
@@ -249,7 +250,7 @@ def CaloTopoClusterCfg(configFlags,cellsname="AllCalo",clustersname="",doLCCalib
     # Schedule electronic noise cond alg (needed for LC weights)
     result.merge(CaloNoiseCondAlgCfg(configFlags,"electronicNoise"))
     
-    from CaloRec.CaloRecConf import CaloTopoClusterMaker, CaloTopoClusterSplitter, CaloClusterMaker, CaloClusterSnapshot
+    CaloTopoClusterMaker, CaloTopoClusterSplitter, CaloClusterMaker, CaloClusterSnapshot=CompFactory.getComps("CaloTopoClusterMaker","CaloTopoClusterSplitter","CaloClusterMaker","CaloClusterSnapshot",)
 
     result.merge(LArGMCfg(configFlags))
 
@@ -334,7 +335,7 @@ def CaloTopoClusterCfg(configFlags,cellsname="AllCalo",clustersname="",doLCCalib
     
     from CaloBadChannelTool.CaloBadChanToolConfig import CaloBadChanToolCfg
     caloBadChanTool = result.popToolsAndMerge( CaloBadChanToolCfg(configFlags) )
-    from CaloClusterCorrection.CaloClusterCorrectionConf import CaloClusterBadChannelList
+    CaloClusterBadChannelList=CompFactory.CaloClusterBadChannelList
     BadChannelListCorr = CaloClusterBadChannelList(badChannelTool = caloBadChanTool)
     CaloTopoCluster.ClusterCorrectionTools += [BadChannelListCorr]
 
@@ -389,12 +390,12 @@ if __name__=="__main__":
                                                             # "CaloClusterCellLinkContainer#"+theKey+"_links"
                                                            ]))
 
-    from AthenaServices.AthenaServicesConf import ThinningSvc, ThinningOutputTool
+    ThinningSvc, ThinningOutputTool=CompFactory.getComps("ThinningSvc","ThinningOutputTool",)
     cfg.addService(ThinningSvc())
     tot = ThinningOutputTool("Thin_xAOD",ThinningSvc = cfg.getService("ThinningSvc"))
     cfg.getEventAlgo("OutputStreamxAOD").HelperTools += [tot]
 
-    from ThinningUtils.ThinningUtilsConf import ThinNegativeEnergyCaloClustersAlg
+    ThinNegativeEnergyCaloClustersAlg=CompFactory.ThinNegativeEnergyCaloClustersAlg
     theNegativeEnergyCaloClustersThinner = ThinNegativeEnergyCaloClustersAlg(
         "ThinNegativeEnergyCaloClustersAlg",
         CaloClustersKey=theKey,
diff --git a/Calorimeter/CaloTools/python/CaloEstimatedGainToolConfig.py b/Calorimeter/CaloTools/python/CaloEstimatedGainToolConfig.py
index ef8a7ca37e77d44a549c6caad9f7aa94fcdb645c..2a7b6b38de4c9af1a3e31aeaf6bae281c482b5d9 100644
--- a/Calorimeter/CaloTools/python/CaloEstimatedGainToolConfig.py
+++ b/Calorimeter/CaloTools/python/CaloEstimatedGainToolConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 
@@ -43,9 +44,9 @@ def CaloEstimatedGainToolCfg (configFlags):
     result.merge (LArADC2MeVCondAlgCfg (configFlags))
     adc2mev = result.getCondAlgo ('LArADC2MeVCondAlg')
 
-    from TileConditions.TileConditionsConf import TileCondIdTransforms
+    TileCondIdTransforms=CompFactory.TileCondIdTransforms
 
-    from CaloTools.CaloToolsConf import CaloEstimatedGainTool
+    CaloEstimatedGainTool=CompFactory.CaloEstimatedGainTool
     tool = CaloEstimatedGainTool ('CaloEstimatedGainTool',
                                   ADC2MeVKey = adc2mev.LArADC2MeVKey,
                                   TileCondIdTransforms = TileCondIdTransforms(),
diff --git a/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py b/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py
index e8b7d30db113972b86cdc6ae69aba4bd393da0fc..bcd0df440ce9d3d28fcccaae51a4143ff00e3d42 100644
--- a/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py
+++ b/Calorimeter/CaloTools/python/CaloNoiseCondAlgConfig.py
@@ -1,8 +1,9 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
-from CaloTools.CaloToolsConf import CaloNoiseCondAlg
+CaloNoiseCondAlg=CompFactory.CaloNoiseCondAlg
 from AthenaCommon.Logging import logging
 
 def CaloNoiseCondAlgCfg(configFlags,noisetype="totalNoise"):
diff --git a/Control/AthenaConfiguration/python/ComponentAccumulatorTest.py b/Control/AthenaConfiguration/python/ComponentAccumulatorTest.py
index 1a727c6481cadf938968ce8c6288cedad8b4cee0..ebed27dc89e3b357db0240967fd7b6ea8a97f509 100644
--- a/Control/AthenaConfiguration/python/ComponentAccumulatorTest.py
+++ b/Control/AthenaConfiguration/python/ComponentAccumulatorTest.py
@@ -3,6 +3,7 @@
 # self test of ComponentAccumulator
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator 
 from AthenaConfiguration.Deduplication import DeduplicationFailed
 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
@@ -324,7 +325,7 @@ class TestComponentAccumulatorAccessors( unittest.TestCase ):
 
 class TestDeduplication( unittest.TestCase ):
     def runTest( self ):
-        from IOVDbSvc.IOVDbSvcConf import IOVDbSvc #Test de-duplicating folder-list
+        IOVDbSvc=CompFactory.IOVDbSvc #Test de-duplicating folder-list
         result1=ComponentAccumulator()
         result1.addService(IOVDbSvc(Folders=["/foo"]))
         result1.wasMerged()
diff --git a/Control/AthenaConfiguration/python/MainServicesConfig.py b/Control/AthenaConfiguration/python/MainServicesConfig.py
index e5f54356802642e80914eca17f12c1d78bce9772..c5fc7989f39100d43cae012c7d2a740a6e5f3a2c 100644
--- a/Control/AthenaConfiguration/python/MainServicesConfig.py
+++ b/Control/AthenaConfiguration/python/MainServicesConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaCommon.AlgSequence import AthSequencer
@@ -67,8 +68,8 @@ def MainServicesThreadedCfg(cfgFlags):
 
     
     #Set up incident firing:
-    from AthenaServices.AthenaServicesConf import AthIncFirerAlg
-    from GaudiCoreSvc.GaudiCoreSvcConf import IncidentProcAlg
+    AthIncFirerAlg=CompFactory.AthIncFirerAlg
+    IncidentProcAlg=CompFactory.IncidentProcAlg
 
     cfg.addEventAlgo(AthIncFirerAlg("BeginIncFiringAlg",FireSerial=False,Incidents=['BeginEvent']),sequenceName='AthBeginSeq')
     cfg.addEventAlgo(IncidentProcAlg('IncidentProcAlg1'),sequenceName='AthBeginSeq')
@@ -77,16 +78,16 @@ def MainServicesThreadedCfg(cfgFlags):
     cfg.addEventAlgo(IncidentProcAlg('IncidentProcAlg2'),sequenceName="AthEndSeq")
 
     #Basic services:
-    from CLIDComps.CLIDCompsConf import ClassIDSvc
+    ClassIDSvc=CompFactory.ClassIDSvc
     cfg.addService(ClassIDSvc(CLIDDBFiles= ['clid.db',"Gaudi_clid.db" ]))
 
-    from StoreGate.StoreGateConf import StoreGateSvc
+    StoreGateSvc=CompFactory.StoreGateSvc
     cfg.addService(StoreGateSvc())
     cfg.addService(StoreGateSvc("DetectorStore"))
     cfg.addService(StoreGateSvc("HistoryStore"))
     cfg.addService( StoreGateSvc("ConditionStore") )
     
-    from AthenaServices.AthenaServicesConf import CoreDumpSvc
+    CoreDumpSvc=CompFactory.CoreDumpSvc
     #438 is the logical or of  FATAL_ON_QUIT, FATAL_ON_INT, FATAL_DUMP_SIG, FATAL_DUMP_STACK, FATAL_DUMP_CONTEXT, FATAL_AUTO_EXIT
     #as defiend in Control/AthenaServices/src/SetFatalHandler.h 
     cfg.addService(CoreDumpSvc(FatalHandler = 438))
@@ -98,8 +99,8 @@ def MainServicesThreadedCfg(cfgFlags):
     if cfgFlags.Concurrency.NumThreads>0:
 
         # Migrated code from AtlasThreadedJob.py
-        from GaudiCoreSvc.GaudiCoreSvcConf import MessageSvc
-        from GaudiSvc.GaudiSvcConf import StatusCodeSvc, AuditorSvc
+        MessageSvc=CompFactory.MessageSvc
+        StatusCodeSvc, AuditorSvc=CompFactory.getComps("StatusCodeSvc","AuditorSvc",)
 
         msgsvc = MessageSvc()
         msgsvc.defaultLimit = 0 
@@ -113,18 +114,18 @@ def MainServicesThreadedCfg(cfgFlags):
         cfg.addService(scsvc)
         cfg.setAppProperty('StatusCodeCheck',False)
 
-        from StoreGate.StoreGateConf import SG__HiveMgrSvc
+        SG__HiveMgrSvc=CompFactory.SG__HiveMgrSvc
         hivesvc = SG__HiveMgrSvc("EventDataSvc")
         hivesvc.NSlots = cfgFlags.Concurrency.NumConcurrentEvents
         cfg.addService( hivesvc )
 
-        from GaudiHive.GaudiHiveConf import AlgResourcePool
+        AlgResourcePool=CompFactory.AlgResourcePool
         from AthenaCommon.Constants import INFO
         arp=AlgResourcePool( OutputLevel = INFO )
         arp.TopAlg=["AthMasterSeq"] #this should enable control flow
         cfg.addService( arp )
 
-        from GaudiHive.GaudiHiveConf import AvalancheSchedulerSvc
+        AvalancheSchedulerSvc=CompFactory.AvalancheSchedulerSvc
         scheduler = AvalancheSchedulerSvc()
         scheduler.CheckDependencies    = cfgFlags.Scheduler.CheckDependencies
         scheduler.ShowDataDependencies = cfgFlags.Scheduler.ShowDataDeps
@@ -133,7 +134,7 @@ def MainServicesThreadedCfg(cfgFlags):
         scheduler.ThreadPoolSize       = cfgFlags.Concurrency.NumThreads
         cfg.addService(scheduler)
 
-        from SGComps.SGCompsConf import SGInputLoader
+        SGInputLoader=CompFactory.SGInputLoader
         # FailIfNoProxy=False makes it a warning, not an error, if unmet data
         # dependencies are not found in the store.  It should probably be changed
         # to True eventually.
@@ -141,7 +142,7 @@ def MainServicesThreadedCfg(cfgFlags):
         cfg.addEventAlgo( inputloader, "AthAlgSeq" )
         scheduler.DataLoaderAlg = inputloader.getName()
 
-        from AthenaServices.AthenaServicesConf import AthenaHiveEventLoopMgr
+        AthenaHiveEventLoopMgr=CompFactory.AthenaHiveEventLoopMgr
 
         elmgr = AthenaHiveEventLoopMgr()
         elmgr.WhiteboardSvc = "EventDataSvc"
@@ -149,7 +150,7 @@ def MainServicesThreadedCfg(cfgFlags):
         cfg.addService( elmgr )
 
         # enable timeline recording
-        from GaudiHive.GaudiHiveConf import TimelineSvc
+        TimelineSvc=CompFactory.TimelineSvc
         cfg.addService( TimelineSvc( RecordTimeline = True, Partial = False ) )
 
         #
@@ -157,7 +158,7 @@ def MainServicesThreadedCfg(cfgFlags):
         #
 
         auditorsvc = AuditorSvc()
-        from SGComps.SGCompsConf import SGCommitAuditor
+        SGCommitAuditor=CompFactory.SGCommitAuditor
         auditorsvc += SGCommitAuditor()
         cfg.addService( auditorsvc )
         cfg.setAppProperty("AuditAlgorithms", True)
diff --git a/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py b/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
index 008cac0a30aff403d072e96e8a8894529d5f515f..84d95a35526fa7bbe90954f1385855a5052acf5b 100644
--- a/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
+++ b/Control/AthenaExamples/AthExHelloWorld/python/HelloWorldConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 def HelloWorldCfg():
     result=ComponentAccumulator()
     
-    from AthExHelloWorld.AthExHelloWorldConf import HelloAlg
+    HelloAlg=CompFactory.HelloAlg
     HelloWorld=HelloAlg("HelloWorld")
     
     HelloWorld.OutputLevel = 0
@@ -47,7 +48,7 @@ def HelloWorldCfg():
     # ... and some more:
     HelloWorld.MyMatrix += [ [ 7, 8, 9 ] ]
 
-    from AthExHelloWorld.AthExHelloWorldConf import HelloTool
+    HelloTool=CompFactory.HelloTool
     ht=HelloTool( "HelloTool" )
     HelloWorld.MyPrivateHelloTool = ht #HelloTool( "HelloTool" )
     HelloWorld.MyPrivateHelloTool.MyMessage = "A Private Message!"
diff --git a/Control/RngComps/python/RandomServices.py b/Control/RngComps/python/RandomServices.py
index bf45c3391fe5ed24116ca0f3f585414ecec9f48d..aa4f9555958eda455b5cebd10eefba1726a6a271 100755
--- a/Control/RngComps/python/RandomServices.py
+++ b/Control/RngComps/python/RandomServices.py
@@ -3,12 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from RngComps.RngCompsConf import (
-    AtDSFMTGenSvc,
-    AtRanluxGenSvc,
-    AtRndmGenSvc,
-    AthRNGSvc,
-)
+from AthenaConfiguration.ComponentFactory import CompFactory
+
+
+AtDSFMTGenSvc,AtRanluxGenSvc,AtRndmGenSvc,AthRNGSvc=\
+CompFactory.getComps("AtDSFMTGenSvc","AtRanluxGenSvc","AtRndmGenSvc","AthRNGSvc")
 
 # Translate between names in AthRNGSvc and elsewhere
 AthEngines = {
diff --git a/Control/SGComps/python/AddressRemappingConfig.py b/Control/SGComps/python/AddressRemappingConfig.py
index 3a0664bfce87238ba69a28515eb42823cebd8ab1..1c686d12dac360b541aefbf758a9f5574c32e1e4 100644
--- a/Control/SGComps/python/AddressRemappingConfig.py
+++ b/Control/SGComps/python/AddressRemappingConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def AddressRemappingCfg(renameMaps=[]):
@@ -12,7 +13,7 @@ def AddressRemappingCfg(renameMaps=[]):
     AddressRemappingSvc and other needed services
     """
 
-    from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+    AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
 
     acc = ComponentAccumulator()
     svc = AddressRemappingSvc()
diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
index eacd29f7f4c500c8d271c7213e41d9a153b9905b..2491674475854be0b005742354f8b2f5a5aa8ed9 100644
--- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolReadConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def PoolReadCfg(configFlags):
     """
@@ -13,13 +14,13 @@ def PoolReadCfg(configFlags):
 
     result=ComponentAccumulator()
 
-    from PoolSvc.PoolSvcConf import PoolSvc
-    from SGComps.SGCompsConf import ProxyProviderSvc
-    from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
-    from EventSelectorAthenaPool.EventSelectorAthenaPoolConf import AthenaPoolAddressProviderSvc, EventSelectorAthenaPool, DoubleEventSelectorAthenaPool
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    PoolSvc=CompFactory.PoolSvc
+    ProxyProviderSvc=CompFactory.ProxyProviderSvc
+    AthenaPoolCnvSvc=CompFactory.AthenaPoolCnvSvc
+    AthenaPoolAddressProviderSvc, EventSelectorAthenaPool, DoubleEventSelectorAthenaPool=CompFactory.getComps("AthenaPoolAddressProviderSvc","EventSelectorAthenaPool","DoubleEventSelectorAthenaPool",)
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
     
-    from StoreGate.StoreGateConf import StoreGateSvc
+    StoreGateSvc=CompFactory.StoreGateSvc
 
     result.addService(PoolSvc(MaxFilesOpen=0))
     apcs=AthenaPoolCnvSvc()
diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolWriteConfig.py b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolWriteConfig.py
index e695062b04fe498aa6e3a8dacc1fba2476107cdf..14f28d7aad17e7d2f5d40f782b79564ba6a60508 100644
--- a/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolWriteConfig.py
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/python/PoolWriteConfig.py
@@ -3,7 +3,8 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
+from AthenaConfiguration.ComponentFactory import CompFactory
+AthenaPoolCnvSvc=CompFactory.AthenaPoolCnvSvc
 
 
 def PoolWriteCfg(configFlags, **kwargs):
diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamConfig.py b/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamConfig.py
index 59932d17670def4d29ecdbb44725247fec3ad6ef..f46bb11ed2e8a821852e3fbfb4f14d5aefd83934 100644
--- a/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamConfig.py
+++ b/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Logging import logging
 
 def OutputStreamCfg(configFlags, streamName, ItemList=[], disableEventTag=False ):
-   from OutputStreamAthenaPool.OutputStreamAthenaPoolConf import MakeEventStreamInfo
-   from AthenaServices.AthenaServicesConf import AthenaOutputStream
-   from AthenaServices.AthenaServicesConf import AthenaOutputStreamTool
-   from StoreGate.StoreGateConf import StoreGateSvc
+   MakeEventStreamInfo=CompFactory.MakeEventStreamInfo
+   AthenaOutputStream=CompFactory.AthenaOutputStream
+   AthenaOutputStreamTool=CompFactory.AthenaOutputStreamTool
+   StoreGateSvc=CompFactory.StoreGateSvc
 
    flagName="Output.%sFileName" % streamName
    if configFlags.hasFlag(flagName):
@@ -44,25 +45,25 @@ def OutputStreamCfg(configFlags, streamName, ItemList=[], disableEventTag=False
       key = "SimpleTag"
       outputStream.WritingTool.AttributeListKey=key
       # build eventinfo attribute list
-      from .OutputStreamAthenaPoolConf import EventInfoAttListTool, EventInfoTagBuilder
+      EventInfoAttListTool, EventInfoTagBuilder=CompFactory.getComps("EventInfoAttListTool","EventInfoTagBuilder",)
       result.addPublicTool(EventInfoAttListTool())
       tagBuilder = EventInfoTagBuilder(AttributeList=key)
       result.addEventAlgo(tagBuilder)
 
    # For xAOD output
    if streamName=="xAOD":
-      from xAODEventFormatCnv.xAODEventFormatCnvConf import xAODMaker__EventFormatSvc
+      xAODMaker__EventFormatSvc=CompFactory.xAODMaker__EventFormatSvc
       # Simplifies naming 
       result.addService(xAODMaker__EventFormatSvc())
       outputStream.MetadataItemList.append( "xAOD::EventFormat#EventFormat" )
 
-      from xAODMetaDataCnv.xAODMetaDataCnvConf import xAODMaker__FileMetaDataMarkUpTool
+      xAODMaker__FileMetaDataMarkUpTool=CompFactory.xAODMaker__FileMetaDataMarkUpTool
       streamMarkUpTool = xAODMaker__FileMetaDataMarkUpTool( streamName + "_FileMetaDataMarkUpTool" )
       streamMarkUpTool.Key = streamName
       outputStream.HelperTools += [ streamMarkUpTool ]
       outputStream.WritingTool.SubLevelBranchName = "<key>"
 
-      from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
+      AthenaPoolCnvSvc=CompFactory.AthenaPoolCnvSvc
       poolcnvsvc = AthenaPoolCnvSvc()
       result.addService(poolcnvsvc)
       poolcnvsvc.PoolAttributes += [ "DatabaseName = '" + fileName + "'; COMPRESSION_LEVEL = '5'" ]
diff --git a/Database/CoolLumiUtilities/python/BunchGroupCondAlgConfig.py b/Database/CoolLumiUtilities/python/BunchGroupCondAlgConfig.py
index b06610a84807eb56034c91732f6eaad5c81d88fd..facc3af78b235cf2046fecbce597174f22f27aaf 100644
--- a/Database/CoolLumiUtilities/python/BunchGroupCondAlgConfig.py
+++ b/Database/CoolLumiUtilities/python/BunchGroupCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -25,7 +26,7 @@ def BunchGroupCondAlgCfg (configFlags):
         result.merge (addFolders (configFlags, folder, 'TRIGGER', tag='HEAD',
                                   className='AthenaAttributeList'))
 
-    from CoolLumiUtilities.CoolLumiUtilitiesConf import BunchGroupCondAlg
+    BunchGroupCondAlg=CompFactory.BunchGroupCondAlg
     alg = BunchGroupCondAlg (name,
                              BunchGroupFolderInputKey = folder,
                              BunchGroupOutputKey = 'BunchGroupCondData')
diff --git a/Database/CoolLumiUtilities/python/BunchLumisCondAlgConfig.py b/Database/CoolLumiUtilities/python/BunchLumisCondAlgConfig.py
index 535fdfe1632884ca42bbf79df50ca6178711c548..32f22a2281d176baa47f1549ee28eb9ee8901002 100644
--- a/Database/CoolLumiUtilities/python/BunchLumisCondAlgConfig.py
+++ b/Database/CoolLumiUtilities/python/BunchLumisCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -34,7 +35,7 @@ def BunchLumisCondAlgCfg (configFlags):
     result.merge (FillParamsCondAlgCfg(configFlags))
     fpalg = result.getCondAlgo ('FillParamsCondAlg')
 
-    from CoolLumiUtilities.CoolLumiUtilitiesConf import BunchLumisCondAlg
+    BunchLumisCondAlg=CompFactory.BunchLumisCondAlg
     alg = BunchLumisCondAlg (name,
                              BunchLumisFolderInputKey = folder,
                              FillParamsInputKey = fpalg.FillParamsOutputKey,
diff --git a/Database/CoolLumiUtilities/python/FillParamsCondAlgConfig.py b/Database/CoolLumiUtilities/python/FillParamsCondAlgConfig.py
index 64c959d00416c87de8ce8e4fc8135130883dd740..cf0ff927a9734418ad221900a0c85b4cdcb9d3fa 100644
--- a/Database/CoolLumiUtilities/python/FillParamsCondAlgConfig.py
+++ b/Database/CoolLumiUtilities/python/FillParamsCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -25,7 +26,7 @@ def FillParamsCondAlgCfg (configFlags):
     result.merge (addFolders (configFlags, folder, 'TDAQ', tag='HEAD',
                               className='AthenaAttributeList'))
 
-    from CoolLumiUtilities.CoolLumiUtilitiesConf import FillParamsCondAlg
+    FillParamsCondAlg=CompFactory.FillParamsCondAlg
     alg = FillParamsCondAlg (name,
                              FillParamsFolderInputKey = folder,
                              FillParamsOutputKey = 'FillParamsCondData')
diff --git a/Database/CoolLumiUtilities/python/OnlineLumiCalibrationCondAlgConfig.py b/Database/CoolLumiUtilities/python/OnlineLumiCalibrationCondAlgConfig.py
index 393af5067237b4211b4ff6872b5d63f11532f830..5956df1bfe5e0fa47e3d684e66e18be4481bd6d5 100644
--- a/Database/CoolLumiUtilities/python/OnlineLumiCalibrationCondAlgConfig.py
+++ b/Database/CoolLumiUtilities/python/OnlineLumiCalibrationCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -25,7 +26,7 @@ def OnlineLumiCalibrationCondAlgCfg (configFlags):
     result.merge (addFolders (configFlags, folder, 'TDAQ',
                               className='CondAttrListCollection'))
 
-    from CoolLumiUtilities.CoolLumiUtilitiesConf import OnlineLumiCalibrationCondAlg
+    OnlineLumiCalibrationCondAlg=CompFactory.OnlineLumiCalibrationCondAlg
     alg = OnlineLumiCalibrationCondAlg (name,
                                         CalibrationFolderInputKey = folder,
                                         LumiCalibOutputKey = 'OnlineLumiCalibrationCondData')
diff --git a/Database/IOVDbSvc/python/IOVDbSvcConfig.py b/Database/IOVDbSvc/python/IOVDbSvcConfig.py
index 07042b8454ad86fd72aa5d890abda31b0c9cea6b..355a4f532c60fc8e981bc5c0b959337131b2271c 100644
--- a/Database/IOVDbSvc/python/IOVDbSvcConfig.py
+++ b/Database/IOVDbSvc/python/IOVDbSvcConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
-from IOVSvc.IOVSvcConf import CondInputLoader
+from AthenaConfiguration.ComponentFactory import CompFactory
+CondInputLoader=CompFactory.CondInputLoader
 import os
 
 def IOVDbSvcCfg(configFlags):
@@ -11,9 +12,9 @@ def IOVDbSvcCfg(configFlags):
     #Add the conditions loader, must be the first in the sequence
     result.addCondAlgo(CondInputLoader())
 
-    from IOVDbSvc.IOVDbSvcConf import IOVDbSvc
-    from IOVSvc.IOVSvcConf import CondSvc
-    from SGComps.SGCompsConf import ProxyProviderSvc
+    IOVDbSvc=CompFactory.IOVDbSvc
+    CondSvc=CompFactory.CondSvc
+    ProxyProviderSvc=CompFactory.ProxyProviderSvc
 
     #Properties of IOVDbSvc to be set here:
     #online-mode, DBInstance (slite)
@@ -51,7 +52,7 @@ def IOVDbSvcCfg(configFlags):
 
     # Set up POOLSvc with appropriate catalogs
     
-    from PoolSvc.PoolSvcConf import PoolSvc
+    PoolSvc=CompFactory.PoolSvc
     poolSvc=PoolSvc()
     poolSvc.MaxFilesOpen=0
     poolSvc.ReadCatalog=["apcfile:poolcond/PoolFileCatalog.xml",
@@ -67,7 +68,7 @@ def IOVDbSvcCfg(configFlags):
     result.addService(CondSvc())
     result.addService(ProxyProviderSvc(ProviderNames=["IOVDbSvc",]))
 
-    from DBReplicaSvc.DBReplicaSvcConf import DBReplicaSvc
+    DBReplicaSvc=CompFactory.DBReplicaSvc
     if not isMC:
         result.addService(DBReplicaSvc(COOLSQLiteVetoPattern="/DBRelease/"))
 
@@ -138,10 +139,10 @@ def addFolderList(configFlags,listOfFolderInfoTuple,extensible=False):
 
     if len(loadFolders)>0:
         result.getCondAlgo("CondInputLoader").Load+=loadFolders
-        from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
+        AthenaPoolCnvSvc=CompFactory.AthenaPoolCnvSvc
         apcs=AthenaPoolCnvSvc()
         result.addService(apcs)
-        from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+        EvtPersistencySvc=CompFactory.EvtPersistencySvc
         result.addService(EvtPersistencySvc("EventPersistencySvc",CnvServices=[apcs.getFullJobOptName(),]))
 
     return result
diff --git a/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py b/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py
index 2c81a08a38a011bc581bf5d752bf1658059d8684..6086c40dd3506297d0752c46b78320665bbbbfbf 100644
--- a/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py
+++ b/DetectorDescription/DetDescrCnvSvc/python/DetDescrCnvSvcConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def DetDescrCnvSvcCfg(configFlags):
-    from DetDescrCnvSvc.DetDescrCnvSvcConf import DetDescrCnvSvc
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    DetDescrCnvSvc=CompFactory.DetDescrCnvSvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
     acc=ComponentAccumulator()
     # Specify primary Identifier dictionary to be use
     detDescrCnvSvc=DetDescrCnvSvc(IdDictName = "IdDictParser/ATLAS_IDS.xml",
diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/ForDetGeoModelConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/ForDetGeoModelConfig.py
index e7180957a28f6de15b989cdfaf6c9d5f2eac06fe..9eb702a102329986500bb462d2def0e6ba4f704e 100644
--- a/DetectorDescription/GeoModel/AtlasGeoModel/python/ForDetGeoModelConfig.py
+++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/ForDetGeoModelConfig.py
@@ -1,15 +1,16 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def ForDetGeometryCfg( ConfigFlags ):
     from AtlasGeoModel.GeoModelConfig import GeoModelCfg
     acc = GeoModelCfg( ConfigFlags )
     geoModelSvc=acc.getPrimary()
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
     # LUCID
     if ConfigFlags.Detector.GeometryLucid:
-        from LUCID_GeoModel.LUCID_GeoModelConf import LUCID_DetectorTool
+        LUCID_DetectorTool=CompFactory.LUCID_DetectorTool
         geoModelSvc.DetectorTools += [ LUCID_DetectorTool() ]
     # ALFA
     if ConfigFlags.Detector.GeometryALFA:
@@ -37,15 +38,15 @@ def ForDetGeometryCfg( ConfigFlags ):
         acc.merge(addFoldersSplitOnline(ConfigFlags,'FWD','/FWD/Onl/ALFA/position_calibration','/FWD/ALFA/position_calibration'))
     # ForwardRegion
     if ConfigFlags.Detector.GeometryFwdRegion:
-        from ForwardRegionGeoModel.ForwardRegionGeoModelConf import ForwardRegionGeoModelTool
+        ForwardRegionGeoModelTool=CompFactory.ForwardRegionGeoModelTool
         geoModelSvc.DetectorTools += [ ForwardRegionGeoModelTool() ]
     # ZDC
     if ConfigFlags.Detector.GeometryZDC:
-        from ZDC_GeoM.ZDC_GeoMConf import ZDC_DetTool
+        ZDC_DetTool=CompFactory.ZDC_DetTool
         geoModelSvc.DetectorTools += [ ZDC_DetTool() ]
     # AFP
     if ConfigFlags.Detector.GeometryAFP:
-        from AFP_GeoModel.AFP_GeoModelConf import AFP_GeoModelTool
+        AFP_GeoModelTool=CompFactory.AFP_GeoModelTool
         geoModelSvc.DetectorTools += [ AFP_GeoModelTool() ]
     acc.addService(geoModelSvc)
     return acc
diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelConfig.py
index 2c6086d6f0e450fdb5ea60fc101dfe2f1f36176c..2da385b00cfd760c2ff64178aa71dbef734696bc 100644
--- a/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelConfig.py
+++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/GeoModelConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Configurable import Configurable
 from AthenaCommon import Logging
 
@@ -15,7 +16,7 @@ def GeoModelCfg(configFlags):
 
 
     result=ComponentAccumulator()
-    from GeoModelSvc.GeoModelSvcConf import GeoModelSvc
+    GeoModelSvc=CompFactory.GeoModelSvc
     gms=GeoModelSvc(AtlasVersion=version,
                     SupportedGeometry = int(relversion[0]))
     if configFlags.Detector.Simulate:
diff --git a/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py b/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py
index 12f3ee3f54ee837d868c45af1c1076fb5efdca71..a50f5d95a7e8ef16f3a6b0ddb90a3c12320e3f61 100644
--- a/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py
+++ b/DetectorDescription/GeoModel/AtlasGeoModel/python/InDetGMConfig.py
@@ -3,17 +3,18 @@
 #
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def InDetServiceMaterialCfg (flags):
     from AtlasGeoModel.GeoModelConfig import GeoModelCfg
     acc = GeoModelCfg( flags )
     geoModelSvc=acc.getPrimary()
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
-    from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatTool
+    InDetServMatTool=CompFactory.InDetServMatTool
     servMatTool = InDetServMatTool()
     if flags.GeoModel.Run=="RUN4":
-        from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatBuilderToolSLHC
+        InDetServMatBuilderToolSLHC=CompFactory.InDetServMatBuilderToolSLHC
         InDetServMatBuilderToolSLHC = InDetServMatBuilderToolSLHC()
         acc.addPublicTool( InDetServMatBuilderToolSLHC )
         servMatTool.ServiceBuilderTool = InDetServMatBuilderToolSLHC
diff --git a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py
index f34727e5f6c37278d5bbee11c4492060a65472ea..62abeeac7629718a0d4bfacba51de19601c8ed10 100644
--- a/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py
+++ b/Event/ByteStreamCnvSvc/python/ByteStreamConfig.py
@@ -3,6 +3,7 @@
 #
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def ByteStreamReadCfg( inputFlags, typeNames=[] ):
@@ -15,9 +16,9 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ):
 
     acc = ComponentAccumulator()
     
-    from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamCnvSvc, ByteStreamEventStorageInputSvc, EventSelectorByteStream
+    ByteStreamCnvSvc, ByteStreamEventStorageInputSvc, EventSelectorByteStream=CompFactory.getComps("ByteStreamCnvSvc","ByteStreamEventStorageInputSvc","EventSelectorByteStream",)
 
-    from xAODEventInfoCnv.xAODEventInfoCnvConf import xAODMaker__EventInfoSelectorTool 
+    xAODMaker__EventInfoSelectorTool, =CompFactory.getComps("xAODMaker__EventInfoSelectorTool",)
     xconv = xAODMaker__EventInfoSelectorTool()
 
     eventSelector = EventSelectorByteStream("EventSelector")
@@ -29,7 +30,7 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ):
     bsInputSvc.FullFileName = filenames
     acc.addService( bsInputSvc )
 
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
     eventPersistencySvc = EvtPersistencySvc( "EventPersistencySvc" )
     acc.addService( eventPersistencySvc )
     
@@ -38,30 +39,30 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ):
     eventPersistencySvc.CnvServices = [ bsCnvSvc.name() ]
     acc.addService( bsCnvSvc )
 
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc ) 
 
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ByteStreamAddressProviderSvc
+    ByteStreamAddressProviderSvc=CompFactory.ByteStreamAddressProviderSvc
     bsAddressProviderSvc = ByteStreamAddressProviderSvc(TypeNames=typeNames)
     acc.addService( bsAddressProviderSvc )
 
-    from IOVDbMetaDataTools.IOVDbMetaDataToolsConf import IOVDbMetaDataTool
+    IOVDbMetaDataTool=CompFactory.IOVDbMetaDataTool
     iovMetaDataTool = IOVDbMetaDataTool()
     acc.addPublicTool( iovMetaDataTool )
     
-    from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamMetadataTool
+    ByteStreamMetadataTool=CompFactory.ByteStreamMetadataTool
     bsMetaDataTool = ByteStreamMetadataTool()
     acc.addPublicTool( bsMetaDataTool )
     
-    from StoreGate.StoreGateConf import StoreGateSvc
-    from SGComps.SGCompsConf import ProxyProviderSvc
+    StoreGateSvc=CompFactory.StoreGateSvc
+    ProxyProviderSvc=CompFactory.ProxyProviderSvc
     metaDataStore = StoreGateSvc("MetaDataStore")   
     acc.addService( metaDataStore )
     inputMetaDataStore = StoreGateSvc("InputMetaDataStore")   
     acc.addService( inputMetaDataStore )
 
-    from AthenaServices.AthenaServicesConf import MetaDataSvc
+    MetaDataSvc=CompFactory.MetaDataSvc
     metaDataSvc = MetaDataSvc()
     acc.addService( metaDataSvc )
 
@@ -72,7 +73,7 @@ def ByteStreamReadCfg( inputFlags, typeNames=[] ):
     proxy.ProviderNames += [ bsAddressProviderSvc.name(), metaDataSvc.name() ]
     acc.addService( proxy )
 
-    from ByteStreamCnvSvc.ByteStreamCnvSvcConf import ByteStreamAttListMetadataSvc
+    ByteStreamAttListMetadataSvc=CompFactory.ByteStreamAttListMetadataSvc
     acc.addService( ByteStreamAttListMetadataSvc() )
     
     bsCnvSvc.InitCnvs += [ "EventInfo",]
diff --git a/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py b/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
index 88034bf94475ee5ded9a3ff30a19b740712b92ca..9c854445096763bcec5177899b96a83ecd7b0c7c 100644
--- a/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
+++ b/Event/DumpEventDataToJSON/python/DumpEventDataToJSONConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import VERBOSE
-from DumpEventDataToJSON.DumpEventDataToJSONConf import DumpEventDataToJsonAlg
+DumpEventDataToJsonAlg=CompFactory.DumpEventDataToJsonAlg
 
 def DumpEventDataToJSONAlgCfg(configFlags, doExtrap=False, **kwargs):
     result=ComponentAccumulator()
diff --git a/Event/EventInfoMgt/python/TagInfoMgrConfig.py b/Event/EventInfoMgt/python/TagInfoMgrConfig.py
index 9e816f56e0b902c5c64564aa59b7e7a786e56e67..5b0f5f3dde4f10a67340355c16773d36437f1a8b 100644
--- a/Event/EventInfoMgt/python/TagInfoMgrConfig.py
+++ b/Event/EventInfoMgt/python/TagInfoMgrConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
 import os
@@ -15,9 +16,9 @@ def TagInfoMgrCfg(configFlags,tagValuePairs=[]):
 
     result=ComponentAccumulator()
 
-    from EventInfoMgt.EventInfoMgtConf import TagInfoMgr
-    from SGComps.SGCompsConf import ProxyProviderSvc
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    TagInfoMgr=CompFactory.TagInfoMgr
+    ProxyProviderSvc=CompFactory.ProxyProviderSvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
 
     #Build project-version string for the TagInfoMgr 
     project = os.getenv('AtlasProject',"Unknown")
diff --git a/Event/xAOD/xAODEventInfoCnv/python/xAODEventInfoCnvConfig.py b/Event/xAOD/xAODEventInfoCnv/python/xAODEventInfoCnvConfig.py
index 0b8ed51438d9de751d326de1e50f47b7bc8870b6..cb2b847b2fa64247bb963ab45e2d7b0350e9052a 100644
--- a/Event/xAOD/xAODEventInfoCnv/python/xAODEventInfoCnvConfig.py
+++ b/Event/xAOD/xAODEventInfoCnv/python/xAODEventInfoCnvConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg",
@@ -18,7 +19,7 @@ def EventInfoCnvAlgCfg(flags, name="EventInfoCnvAlg",
 
     # TODO: luminosity
 
-    from xAODEventInfoCnv.xAODEventInfoCnvConf import xAODMaker__EventInfoCnvAlg
+    xAODMaker__EventInfoCnvAlg=CompFactory.xAODMaker__EventInfoCnvAlg
     alg = xAODMaker__EventInfoCnvAlg(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -37,7 +38,7 @@ def EventInfoOverlayAlgCfg(flags, name="EventInfoOverlay", **kwargs):
     kwargs.setdefault("DataOverlay", flags.Overlay.DataOverlay)
 
     # Do the xAOD::EventInfo overlay
-    from xAODEventInfoCnv.xAODEventInfoCnvConf import xAODMaker__EventInfoOverlay
+    xAODMaker__EventInfoOverlay=CompFactory.xAODMaker__EventInfoOverlay
     alg = xAODMaker__EventInfoOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/Generators/McEventSelector/python/McEventSelectorConfig.py b/Generators/McEventSelector/python/McEventSelectorConfig.py
index 03f470a8d41636780059608f34af144340b14276..a31db701baf878d46f9f8f4fd0c4e670968397bc 100644
--- a/Generators/McEventSelector/python/McEventSelectorConfig.py
+++ b/Generators/McEventSelector/python/McEventSelectorConfig.py
@@ -3,17 +3,18 @@
 # https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/AthenaJobConfigRun3
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def McEventSelectorCfg(configFlags):
     cfg=ComponentAccumulator()
 
-    from McEventSelector.McEventSelectorConf import McCnvSvc
+    McCnvSvc=CompFactory.McCnvSvc
     mcCnvSvc = McCnvSvc()
     cfg.addService(mcCnvSvc)
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
     cfg.addService(EvtPersistencySvc("EventPersistencySvc",CnvServices=[mcCnvSvc.getFullJobOptName(),]))
 
-    from McEventSelector.McEventSelectorConf import McEventSelector
+    McEventSelector=CompFactory.McEventSelector
     evSel=McEventSelector("EventSelector")
     rn = configFlags.Input.RunNumber
     if isinstance(rn, type([])):
diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py
index 0a4f4405178e1407f2f02de08c56ca26e02af480..181a9b3f3097cb28f334ba43288e212fcd54f823 100644
--- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py
+++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py
@@ -3,10 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders,addFoldersSplitOnline
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import (
-    PixelConfigCondAlg, PixelOfflineCalibCondAlg, PixelChargeCalibCondAlg, PixelDistortionAlg
-)
+
+
+PixelConfigCondAlg, PixelOfflineCalibCondAlg, PixelChargeCalibCondAlg, PixelDistortionAlg =\
+CompFactory.getComps("PixelConfigCondAlg","PixelOfflineCalibCondAlg","PixelChargeCalibCondAlg","PixelDistortionAlg")
 
 def PixelConfigCondAlgCfg(flags, name="PixelConfigCondAlg", **kwargs):
     """Return a ComponentAccumulator with configured PixelConfigCondAlg"""
diff --git a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py
index 9c7a665a2a7277381d2d93e3704956abe55d5f1d..2ce9ed70ac048803e06197b3a1864b534facd574 100644
--- a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py
+++ b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelConditionsSummaryConfig.py
@@ -3,9 +3,10 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline, addFolders
-from PixelConditionsTools.PixelConditionsToolsConf import PixelConditionsSummaryTool
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelTDAQCondAlg
+PixelConditionsSummaryTool=CompFactory.PixelConditionsSummaryTool
+PixelTDAQCondAlg=CompFactory.PixelTDAQCondAlg
 from PixelConditionsTools.PixelDCSConditionsConfig import PixelDCSConditionsCfg
 from PixelConditionsAlgorithms.PixelConditionsConfig import PixelConfigCondAlgCfg
 
diff --git a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelDCSConditionsConfig.py b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelDCSConditionsConfig.py
index 60fd358a48a51a3bc2a74651cee74451f0068dc3..b162e59325a3955fc2b1ada7fd1d9f1d1737024a 100644
--- a/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelDCSConditionsConfig.py
+++ b/InnerDetector/InDetConditions/PixelConditionsTools/python/PixelDCSConditionsConfig.py
@@ -3,10 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondStateAlg
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondHVAlg
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondTempAlg
+PixelDCSCondStateAlg=CompFactory.PixelDCSCondStateAlg
+PixelDCSCondHVAlg=CompFactory.PixelDCSCondHVAlg
+PixelDCSCondTempAlg=CompFactory.PixelDCSCondTempAlg
 
 def PixelDCSConditionsCfg(flags, name="PixelDCSCond", **kwargs):
     """Return configured ComponentAccumulator and tool for PixelDCSConditions"""
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsConfig.py
index d718e090ca0a08f1a25c2b22ae9bee2dd3d6abb2..8fa64f67e930cab24631719a327729fb5b794865 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsConfig.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsConfig.py
@@ -3,11 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
-from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_DCSConditionsTool
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsStatCondAlg
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsHVCondAlg
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsTempCondAlg
+SCT_DCSConditionsTool=CompFactory.SCT_DCSConditionsTool
+SCT_DCSConditionsStatCondAlg=CompFactory.SCT_DCSConditionsStatCondAlg
+SCT_DCSConditionsHVCondAlg=CompFactory.SCT_DCSConditionsHVCondAlg
+SCT_DCSConditionsTempCondAlg=CompFactory.SCT_DCSConditionsTempCondAlg
 
 def SCT_DCSConditionsToolCfg(flags, name="InDetSCT_DCSConditionsTool", **kwargs):
     """Return a configured SCT_DCSConditionsTool"""
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataConfig.py
index 081cd9d9d85b6f666e0ace54779f913f09e8ecb4..8e2d20d8e646a25290ed983de769ff19a3ce6e83 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataConfig.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataConfig.py
@@ -3,10 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
-from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ReadCalibChipDataTool
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ReadCalibChipNoiseCondAlg
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ReadCalibChipGainCondAlg
+SCT_ReadCalibChipDataTool=CompFactory.SCT_ReadCalibChipDataTool
+SCT_ReadCalibChipNoiseCondAlg=CompFactory.SCT_ReadCalibChipNoiseCondAlg
+SCT_ReadCalibChipGainCondAlg=CompFactory.SCT_ReadCalibChipGainCondAlg
 
 def SCT_ReadCalibChipDataToolCfg(flags, name="InDetSCT_ReadCalibChipDataTool", **kwargs):
     """Return a ReadCalibChipDataTool configured for SCT"""
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py
index 41b9e2494c189a77737ebc5aa71382bc283c5ca4..ae125aaf76e196ae80e6b26e7b2498d6bac76d45 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsConfig.py
@@ -3,9 +3,10 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconHVCondAlg
-from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconTempCondAlg
-from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_SiliconConditionsTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+SCT_SiliconHVCondAlg=CompFactory.SCT_SiliconHVCondAlg
+SCT_SiliconTempCondAlg=CompFactory.SCT_SiliconTempCondAlg
+SCT_SiliconConditionsTool=CompFactory.SCT_SiliconConditionsTool
 
 def SCT_SiliconConditionsToolCfg(flags, name="SCT_SiliconConditionsTool", **kwargs):
     """Return a configured SCT_SiliconConditionsTool (a.k.a. SiConditionsTool)"""
diff --git a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py
index 5d02336a6c269a7409d461628158ed0c70cba46b..2849fe50c437da5d9d0b3de701c2c906fa00232a 100644
--- a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py
+++ b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/PixelLorentzAngleConfig.py
@@ -3,8 +3,9 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from SiPropertiesTool.PixelSiPropertiesConfig import PixelSiPropertiesCfg
-from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
-from SiLorentzAngleTool.SiLorentzAngleToolConf import PixelSiLorentzAngleCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
+PixelSiLorentzAngleCondAlg=CompFactory.PixelSiLorentzAngleCondAlg
 from PixelConditionsTools.PixelDCSConditionsConfig import PixelDCSConditionsCfg
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 
diff --git a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py
index 8cdaa0727da338e6ecffab2d4bd73db351927bfd..92dfe76ccf82cf2c5e324f511d9a09862d8f27da 100644
--- a/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py
+++ b/InnerDetector/InDetConditions/SiLorentzAngleTool/python/SCT_LorentzAngleConfig.py
@@ -3,8 +3,9 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaCommon import Logging
-from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
-from SiLorentzAngleTool.SiLorentzAngleToolConf import SCTSiLorentzAngleCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
+SCTSiLorentzAngleCondAlg=CompFactory.SCTSiLorentzAngleCondAlg
 from SCT_ConditionsTools.SCT_DCSConditionsConfig import SCT_DCSConditionsCfg
 from SCT_ConditionsTools.SCT_SiliconConditionsConfig import SCT_SiliconConditionsCfg
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
diff --git a/InnerDetector/InDetConditions/SiPropertiesTool/python/PixelSiPropertiesConfig.py b/InnerDetector/InDetConditions/SiPropertiesTool/python/PixelSiPropertiesConfig.py
index 2d97c4be155db98a491b9755661bca819c0f9363..8af3b93f6458be3ca91d182b9f7a2ba132b33d22 100644
--- a/InnerDetector/InDetConditions/SiPropertiesTool/python/PixelSiPropertiesConfig.py
+++ b/InnerDetector/InDetConditions/SiPropertiesTool/python/PixelSiPropertiesConfig.py
@@ -3,8 +3,9 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from PixelConditionsTools.PixelDCSConditionsConfig import PixelDCSConditionsCfg
-from SiPropertiesTool.SiPropertiesToolConf import SiPropertiesTool
-from SiPropertiesTool.SiPropertiesToolConf import PixelSiPropertiesCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+SiPropertiesTool=CompFactory.SiPropertiesTool
+PixelSiPropertiesCondAlg=CompFactory.PixelSiPropertiesCondAlg
 
 def PixelSiPropertiesToolCfg(flags, name="PixelSiPropertiesTool", **kwargs):
     """Return a SiPropertiesTool configured for Pixel"""
diff --git a/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py b/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py
index d6922564b5769825a4132939bac83a61ee268818..e14c336828012779bbf618958163a9e7e3b55499 100644
--- a/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py
+++ b/InnerDetector/InDetConditions/SiPropertiesTool/python/SCT_SiPropertiesConfig.py
@@ -3,8 +3,9 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from SiPropertiesTool.SiPropertiesToolConf import SiPropertiesTool
-from SiPropertiesTool.SiPropertiesToolConf import SCTSiPropertiesCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+SiPropertiesTool=CompFactory.SiPropertiesTool
+SCTSiPropertiesCondAlg=CompFactory.SCTSiPropertiesCondAlg
 
 def SCT_SiPropertiesToolCfg(flags, name="SCT_SiPropertiesTool", **kwargs):
     """Return a SiPropertiesTool configured for SCT"""
diff --git a/InnerDetector/InDetDetDescr/PixelCabling/python/PixelCablingConfigNew.py b/InnerDetector/InDetDetDescr/PixelCabling/python/PixelCablingConfigNew.py
index f9ab5edad8a0828cf0d6cac5f398eea1570caa42..1f0894abcc6ea8bed2c66bc7aded11c9e18443d6 100644
--- a/InnerDetector/InDetDetDescr/PixelCabling/python/PixelCablingConfigNew.py
+++ b/InnerDetector/InDetDetDescr/PixelCabling/python/PixelCablingConfigNew.py
@@ -3,12 +3,13 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Logging import logging
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline, addFolders
-from PixelCabling.PixelCablingConf import PixelCablingSvc
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelReadoutSpeedAlg
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelCablingCondAlg
-from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelHitDiscCnfgAlg
+PixelCablingSvc=CompFactory.PixelCablingSvc
+PixelReadoutSpeedAlg=CompFactory.PixelReadoutSpeedAlg
+PixelCablingCondAlg=CompFactory.PixelCablingCondAlg
+PixelHitDiscCnfgAlg=CompFactory.PixelHitDiscCnfgAlg
 
 
 def PixelCablingSvcCfg(flags, name="PixelCablingSvc", **kwargs):
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/python/PixelGeoModelConfig.py b/InnerDetector/InDetDetDescr/PixelGeoModel/python/PixelGeoModelConfig.py
index 18a960cffec87a14ff05020188994d38fc96bd81..bab6a7587ac2865e91b50962ee5be7473d4599b6 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/python/PixelGeoModelConfig.py
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/python/PixelGeoModelConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon import CfgMgr
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def getPixelDetectorTool(name="PixelDetectorTool", **kwargs):
     from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags
@@ -19,18 +20,18 @@ def PixelGeometryCfg( flags ):
   from AtlasGeoModel.GeoModelConfig import GeoModelCfg
   acc = GeoModelCfg( flags )
   geoModelSvc=acc.getPrimary()
-  from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+  GeometryDBSvc=CompFactory.GeometryDBSvc
   acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
-  from PixelGeoModel.PixelGeoModelConf import PixelDetectorTool
+  PixelDetectorTool=CompFactory.PixelDetectorTool
   pixelDetectorTool = PixelDetectorTool("PixelDetectorTool")
-  from BCM_GeoModel.BCM_GeoModelConf import InDetDD__BCM_Builder
+  InDetDD__BCM_Builder=CompFactory.InDetDD__BCM_Builder
   bcmTool = InDetDD__BCM_Builder()
   pixelDetectorTool.BCM_Tool = bcmTool
-  from BLM_GeoModel.BLM_GeoModelConf import InDetDD__BLM_Builder
+  InDetDD__BLM_Builder=CompFactory.InDetDD__BLM_Builder
   blmTool = InDetDD__BLM_Builder()
   pixelDetectorTool.BLM_Tool = blmTool
   if flags.GeoModel.Run=="RUN4":
-      from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatBuilderToolSLHC
+      InDetServMatBuilderToolSLHC=CompFactory.InDetServMatBuilderToolSLHC
       InDetServMatBuilderToolSLHC = InDetServMatBuilderToolSLHC()
       acc.addPublicTool( InDetServMatBuilderToolSLHC )
       pixelDetectorTool.ServiceBuilderTool = InDetServMatBuilderToolSLHC
@@ -50,13 +51,13 @@ def PixelGeometryCfg( flags ):
       acc.merge(addFoldersSplitOnline(flags,"INDET","/Indet/Onl/Align","/Indet/Align",className="AlignableTransformContainer"))
     else:
       acc.merge(addFoldersSplitOnline(flags,"INDET","/Indet/Onl/Align","/Indet/Align"))
-  if flags.Common.Project is not "AthSimulation": # Protection for AthSimulation builds
+  if flags.Common.Project != "AthSimulation": # Protection for AthSimulation builds
       if (not flags.Detector.SimulatePixel) or flags.Detector.OverlayPixel:
-          from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelAlignCondAlg
+          PixelAlignCondAlg=CompFactory.PixelAlignCondAlg
           pixelAlignCondAlg = PixelAlignCondAlg(name = "PixelAlignCondAlg",
                                                 UseDynamicAlignFolders = flags.GeoModel.Align.Dynamic)
           acc.addCondAlgo(pixelAlignCondAlg)
-          from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDetectorElementCondAlg
+          PixelDetectorElementCondAlg=CompFactory.PixelDetectorElementCondAlg
           pixelDetectorElementCondAlg = PixelDetectorElementCondAlg(name = "PixelDetectorElementCondAlg")
           acc.addCondAlgo(pixelDetectorElementCondAlg)
   return acc
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/python/SCT_CablingConfig.py b/InnerDetector/InDetDetDescr/SCT_Cabling/python/SCT_CablingConfig.py
index 45f60de7413549cfaec344f486e9e722955d6a8c..aa66ef5a4cf4bfc6d5d8c0518b5b529b27d7a12d 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/python/SCT_CablingConfig.py
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/python/SCT_CablingConfig.py
@@ -3,6 +3,7 @@
 # https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/ConfiguredFactory
 
 from AthenaCommon import CfgMgr
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def setSCT_CablingDataBase():
     from IOVDbSvc.CondDB import conddb
@@ -92,7 +93,7 @@ def SCT_CablingCondAlgCfg(configFlags):
     cfg=ComponentAccumulator()
     foldersCfg,path=SCT_CablingFoldersCfg(configFlags)
     cfg.merge(foldersCfg)
-    from SCT_Cabling.SCT_CablingConf import SCT_CablingCondAlgFromCoraCool
+    SCT_CablingCondAlgFromCoraCool=CompFactory.SCT_CablingCondAlgFromCoraCool
     cfg.addCondAlgo(SCT_CablingCondAlgFromCoraCool(ReadKeyRod=path+"ROD",
                                                    ReadKeyRodMur=path+"RODMUR",
                                                    ReadKeyMur=path+"MUR",
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/python/TestSCT_CablingCfg.py b/InnerDetector/InDetDetDescr/SCT_Cabling/python/TestSCT_CablingCfg.py
index 85da9f5f1c32ce131cee53ba5b0cb001fa5876d5..706da20a10d07701c215633d019b22b012018994 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/python/TestSCT_CablingCfg.py
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/python/TestSCT_CablingCfg.py
@@ -3,6 +3,7 @@
 # https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/AthenaJobConfigRun3
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def SCT_TestCablingAlgCfg(configFlags):
@@ -21,7 +22,7 @@ def SCT_TestCablingAlgCfg(configFlags):
     SCT_CablingTool.DataSource = "COOLVECTOR"
     SCT_CablingTool.OutputLevel = INFO
 
-    from SCT_Cabling.SCT_CablingConf import SCT_TestCablingAlg
+    SCT_TestCablingAlg=CompFactory.SCT_TestCablingAlg
     testAlg = SCT_TestCablingAlg(SCT_CablingTool = SCT_CablingTool,
                                  OutputLevel = INFO)
     cfg.addEventAlgo(testAlg)
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/python/SCT_GeoModelConfig.py b/InnerDetector/InDetDetDescr/SCT_GeoModel/python/SCT_GeoModelConfig.py
index 5686cd2d440040ac61ad36719ad8bb8d7078d000..2672235bde449248f4f0cdfc8efab7c3bbe52b93 100644
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/python/SCT_GeoModelConfig.py
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/python/SCT_GeoModelConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon import CfgMgr
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def getSCT_DetectorTool(name="SCT_DetectorTool", **kwargs):
     kwargs.setdefault("DetectorName",     "SCT")
@@ -17,21 +18,21 @@ def SCT_GeometryCfg( flags ):
     from AtlasGeoModel.GeoModelConfig import GeoModelCfg
     acc = GeoModelCfg( flags )
     geoModelSvc=acc.getPrimary()
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
     if flags.GeoModel.Run=="RUN4":
         if "GMX" == flags.GeoModel.StripGeoType():
-            from SCT_GeoModelXml.SCT_GeoModelXmlConf import SCT_GMX_DetectorTool
+            SCT_GMX_DetectorTool=CompFactory.SCT_GMX_DetectorTool
             sctDetectorTool = SCT_GMX_DetectorTool()
         else:
-            from SCT_SLHC_GeoModel.SCT_SLHC_GeoModelConf import SCT_SLHC_DetectorTool
+            SCT_SLHC_DetectorTool=CompFactory.SCT_SLHC_DetectorTool
             sctDetectorTool = SCT_SLHC_DetectorTool()
-            from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatBuilderToolSLHC
+            InDetServMatBuilderToolSLHC=CompFactory.InDetServMatBuilderToolSLHC
             InDetServMatBuilderToolSLHC = InDetServMatBuilderToolSLHC()
             acc.addPublicTool( InDetServMatBuilderToolSLHC )
             sctDetectorTool.ServiceBuilderTool = InDetServMatBuilderToolSLHC
     else:
-        from SCT_GeoModel.SCT_GeoModelConf import SCT_DetectorTool
+        SCT_DetectorTool=CompFactory.SCT_DetectorTool
         sctDetectorTool = SCT_DetectorTool()
     sctDetectorTool.useDynamicAlignFolders = flags.GeoModel.Align.Dynamic
     geoModelSvc.DetectorTools += [ sctDetectorTool ]
@@ -44,13 +45,13 @@ def SCT_GeometryCfg( flags ):
             acc.merge(addFoldersSplitOnline(flags,"INDET","/Indet/Onl/Align","/Indet/Align",className="AlignableTransformContainer"))
         else:
             acc.merge(addFoldersSplitOnline(flags,"INDET","/Indet/Onl/Align","/Indet/Align"))
-    if flags.Common.Project is not "AthSimulation": # Protection for AthSimulation builds
+    if flags.Common.Project != "AthSimulation": # Protection for AthSimulation builds
         if (not flags.Detector.SimulateSCT) or flags.Detector.OverlaySCT:
-            from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_AlignCondAlg
+            SCT_AlignCondAlg=CompFactory.SCT_AlignCondAlg
             sctAlignCondAlg = SCT_AlignCondAlg(name = "SCT_AlignCondAlg",
                                                UseDynamicAlignFolders = flags.GeoModel.Align.Dynamic)
             acc.addCondAlgo(sctAlignCondAlg)
-            from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DetectorElementCondAlg
+            SCT_DetectorElementCondAlg=CompFactory.SCT_DetectorElementCondAlg
             sctDetectorElementCondAlg = SCT_DetectorElementCondAlg(name = "SCT_DetectorElementCondAlg")
             acc.addCondAlgo(sctDetectorElementCondAlg)
     return acc
diff --git a/InnerDetector/InDetDetDescr/TRT_GeoModel/python/TRT_GeoModelConfig.py b/InnerDetector/InDetDetDescr/TRT_GeoModel/python/TRT_GeoModelConfig.py
index ebf0123dff118baa85df36b0dc5562cc5f6c724c..8579e8ef4c4acfb152431e1b8edcb88dd5a0ef7b 100644
--- a/InnerDetector/InDetDetDescr/TRT_GeoModel/python/TRT_GeoModelConfig.py
+++ b/InnerDetector/InDetDetDescr/TRT_GeoModel/python/TRT_GeoModelConfig.py
@@ -3,14 +3,15 @@
 #
 
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TRT_GeometryCfg( flags ):
     from AtlasGeoModel.GeoModelConfig import GeoModelCfg
     acc = GeoModelCfg( flags )
     geoModelSvc=acc.getPrimary()
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     acc.addService(GeometryDBSvc("InDetGeometryDBSvc"))
-    from TRT_GeoModel.TRT_GeoModelConf import TRT_DetectorTool
+    TRT_DetectorTool=CompFactory.TRT_DetectorTool
     trtDetectorTool = TRT_DetectorTool()
     trtDetectorTool.useDynamicAlignFolders = flags.GeoModel.Align.Dynamic
     geoModelSvc.DetectorTools += [ trtDetectorTool ]
@@ -30,7 +31,7 @@ def TRT_GeometryCfg( flags ):
         # Argon straw list
         acc.merge(addFoldersSplitOnline(flags, "TRT","/TRT/Onl/Cond/StatusHT","/TRT/Cond/StatusHT",className='TRTCond::StrawStatusMultChanContainer'))
     # TRT Condition Algorithm
-    from TRT_ConditionsAlgs.TRT_ConditionsAlgsConf import TRTAlignCondAlg
+    TRTAlignCondAlg=CompFactory.TRTAlignCondAlg
     TRTAlignCondAlg = TRTAlignCondAlg(name = "TRTAlignCondAlg",
                                       UseDynamicFolders = flags.GeoModel.Align.Dynamic)
     if flags.GeoModel.Align.Dynamic:
diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
old mode 100755
new mode 100644
index 4e80c26851f22b066b73a7ba02a6199660ff0a0a..a8ee1e72670b705b6a166c50c300cf1c6e2d4b76
--- a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
@@ -3,11 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from RngComps.RandomServices import RNG
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from PixelGeoModel.PixelGeoModelConfig import PixelGeometryCfg
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-from BCM_Digitization.BCM_DigitizationConf import BCM_DigitizationTool, BCM_Digitization
+BCM_DigitizationTool, BCM_Digitization=CompFactory.getComps("BCM_DigitizationTool","BCM_Digitization",)
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
 from Digitization.PileUpToolsConfig import PileUpToolsCfg
 
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
index ba6b803669391141ced667ca1d3724922af090ae..fc12fb90de27c3325c23475b0289940142061eb0 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
@@ -3,7 +3,8 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+from AthenaConfiguration.ComponentFactory import CompFactory
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from PixelCabling.PixelCablingConfigNew import PixelCablingSvcCfg
 from PixelDigitization.PixelDigitizationConf import (
     PixelDigitizationTool, PixelDigitization, ChargeCollProbSvc,
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
index 00dce92722954924c683f7aea95d882a67ee69c7..3c07578f44e4bf0fe2242b9fd0629ff4747c57d0 100644
--- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
@@ -3,6 +3,7 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Logging import logging
 from SCT_Digitization.SCT_DigitizationConf import (
     SCT_RandomDisabledCellGenerator,
@@ -12,9 +13,9 @@ from SCT_Digitization.SCT_DigitizationConf import (
     SCT_DigitizationTool,
     SCT_Digitization,
 )
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_RadDamageSummaryTool
+SCT_RadDamageSummaryTool=CompFactory.SCT_RadDamageSummaryTool
 from SCT_GeoModel.SCT_GeoModelConfig import SCT_GeometryCfg
 from SCT_ConditionsTools.SCT_DCSConditionsConfig import SCT_DCSConditionsCfg
 from SCT_ConditionsTools.SCT_SiliconConditionsConfig import SCT_SiliconConditionsToolCfg, SCT_SiliconConditionsCfg
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
index 53bfe06a6b9f7f4085a26f0213fd5c01c0ab1d99..ec503c3d4d815fc2aaa7d6a3ec73bc31a01f9bef 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
@@ -3,14 +3,15 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from TRT_Digitization.TRT_DigitizationConf import TRTDigitizationTool, TRTDigitization
+from AthenaConfiguration.ComponentFactory import CompFactory
+TRTDigitizationTool, TRTDigitization=CompFactory.getComps("TRTDigitizationTool","TRTDigitization",)
 from TRT_GeoModel.TRT_GeoModelConfig import TRT_GeometryCfg
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 from TRT_PAI_Process.TRT_PAI_ProcessConfigNew import TRT_PAI_Process_XeToolCfg
 from TRT_PAI_Process.TRT_PAI_ProcessConfigNew import TRT_PAI_Process_ArToolCfg
 from TRT_PAI_Process.TRT_PAI_ProcessConfigNew import TRT_PAI_Process_KrToolCfg
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
-from PartPropSvc.PartPropSvcConf import PartPropSvc
+PileUpXingFolder=CompFactory.PileUpXingFolder
+PartPropSvc=CompFactory.PartPropSvc
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from Digitization.PileUpToolsConfig import PileUpToolsCfg
diff --git a/InnerDetector/InDetG4/BCM_G4_SD/python/BCM_G4_SDToolConfig.py b/InnerDetector/InDetG4/BCM_G4_SD/python/BCM_G4_SDToolConfig.py
index b87f06bfe1b73bc54097ae43e6ae50d753daa096..5bcf6ddf9b1ff36d94bd59c5ee1a49050b0eb613 100644
--- a/InnerDetector/InDetG4/BCM_G4_SD/python/BCM_G4_SDToolConfig.py
+++ b/InnerDetector/InDetG4/BCM_G4_SD/python/BCM_G4_SDToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from BCM_G4_SD.BCM_G4_SDConf import BCMSensorSDTool
+BCMSensorSDTool=CompFactory.BCMSensorSDTool
 
 def BCMSensorSDCfg(ConfigFlags, name="BCMSensorSD", **kwargs):
 
diff --git a/InnerDetector/InDetG4/BLM_G4_SD/python/BLM_G4_SDToolConfig.py b/InnerDetector/InDetG4/BLM_G4_SD/python/BLM_G4_SDToolConfig.py
index b1c0159e5e398a66849f681703d902b7849c9c11..f816bda346ce349c4496a5332adcba7a0914fc32 100644
--- a/InnerDetector/InDetG4/BLM_G4_SD/python/BLM_G4_SDToolConfig.py
+++ b/InnerDetector/InDetG4/BLM_G4_SD/python/BLM_G4_SDToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from BLM_G4_SD.BLM_G4_SDConf import BLMSensorSDTool
+BLMSensorSDTool=CompFactory.BLMSensorSDTool
 
 
 def BLMSensorSDCfg(ConfigFlags, name="BLMSensorSD", **kwargs):
diff --git a/InnerDetector/InDetG4/PixelG4_SD/python/PixelG4_SDToolConfig.py b/InnerDetector/InDetG4/PixelG4_SD/python/PixelG4_SDToolConfig.py
index 5aece606e3324370d3fe00f0c34db6a735ae1717..bfe0d3c14a5f7f4d8081a9e00f578d2ced8eb05e 100644
--- a/InnerDetector/InDetG4/PixelG4_SD/python/PixelG4_SDToolConfig.py
+++ b/InnerDetector/InDetG4/PixelG4_SD/python/PixelG4_SDToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from PixelG4_SD.PixelG4_SDConf import PixelSensorSDTool
+PixelSensorSDTool=CompFactory.PixelSensorSDTool
 
 
 def PixelSensorSDCfg(ConfigFlags, name="PixelSensorSD", **kwargs):
diff --git a/InnerDetector/InDetG4/SCT_G4_SD/python/SCT_G4_SDToolConfig.py b/InnerDetector/InDetG4/SCT_G4_SD/python/SCT_G4_SDToolConfig.py
index b2a6c43a1590729b0b022805cafc70ef35abb5dd..d3af78ebff43ee7e34f083a19bcb6b1932e6b67e 100644
--- a/InnerDetector/InDetG4/SCT_G4_SD/python/SCT_G4_SDToolConfig.py
+++ b/InnerDetector/InDetG4/SCT_G4_SD/python/SCT_G4_SDToolConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from SCT_G4_SD.SCT_G4_SDConf import SctSensorSDTool
-from SCT_G4_SD.SCT_G4_SDConf import SctSensor_CTBTool
+SctSensorSDTool=CompFactory.SctSensorSDTool
+SctSensor_CTBTool=CompFactory.SctSensor_CTBTool
 
 
 def SctSensorSDCfg(ConfigFlags, name="SctSensorSD", **kwargs):
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/PixelOverlayConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/PixelOverlayConfig.py
index 7873e24f3b21d79892ec25cd4681b348d3f93858..2bacdc8a8739a0d7724d155c77aed85f2671091e 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/PixelOverlayConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/PixelOverlayConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def PixelOverlayAlgCfg(flags, name = "PixelOverlay", **kwargs):
@@ -17,7 +18,7 @@ def PixelOverlayAlgCfg(flags, name = "PixelOverlay", **kwargs):
     kwargs.setdefault("includeBkg", True)
 
     # Do Pixel overlay
-    from InDetOverlay.InDetOverlayConf import PixelOverlay
+    PixelOverlay=CompFactory.PixelOverlay
     alg = PixelOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -41,7 +42,7 @@ def PixelTruthOverlayCfg(flags, name = "PixelSDOOverlay", **kwargs):
     kwargs.setdefault("OutputKey", "PixelSDO_Map")
 
     # Do Pixel truth overlay
-    from InDetOverlay.InDetOverlayConf import InDetSDOOverlay
+    InDetSDOOverlay=CompFactory.InDetSDOOverlay
     alg = InDetSDOOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
index b4a95804212e8260d63e2aa83ca42c8a6974d437..cef25d9277d500ae65da4f745816745a2eb600e2 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def SCTOverlayAlgCfg(flags, name = "SCTOverlay", **kwargs):
@@ -17,7 +18,7 @@ def SCTOverlayAlgCfg(flags, name = "SCTOverlay", **kwargs):
     kwargs.setdefault("includeBkg", True)
 
     # Do SCT overlay
-    from InDetOverlay.InDetOverlayConf import SCTOverlay
+    SCTOverlay=CompFactory.SCTOverlay
     alg = SCTOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -41,7 +42,7 @@ def SCTTruthOverlayCfg(flags, name = "SCTSDOOverlay", **kwargs):
     kwargs.setdefault("OutputKey", "SCT_SDO_Map")
 
     # Do SCT truth overlay
-    from InDetOverlay.InDetOverlayConf import InDetSDOOverlay
+    InDetSDOOverlay=CompFactory.InDetSDOOverlay
     alg = InDetSDOOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRTOverlayConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRTOverlayConfig.py
index 18f443eb1779f561ec022ac769623c7ffd491634..a86b7da182a54da99067f5deb54262cf7a7e24f6 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRTOverlayConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRTOverlayConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TRTOverlayAlgCfg(flags, name = "TRTOverlay", **kwargs):
     """Return a ComponentAccumulator for TRTOverlay algorithm"""
@@ -26,7 +27,7 @@ def TRTOverlayAlgCfg(flags, name = "TRTOverlay", **kwargs):
     kwargs.setdefault("TRT_HT_OccupancyCorrectionEndcapNoE", 0.050)
 
     # Do TRT overlay
-    from InDetOverlay.InDetOverlayConf import TRTOverlay
+    TRTOverlay=CompFactory.TRTOverlay
     alg = TRTOverlay(name, **kwargs)
 
     from InDetOverlay.TRT_ConditionsConfig import TRT_LocalOccupancyCfg, TRT_StrawStatusSummaryToolCfg
@@ -54,7 +55,7 @@ def TRTTruthOverlayCfg(flags, name = "TRTSDOOverlay", **kwargs):
     kwargs.setdefault("OutputKey", "TRT_SDO_Map")
 
     # Do TRT truth overlay
-    from InDetOverlay.InDetOverlayConf import InDetSDOOverlay
+    InDetSDOOverlay=CompFactory.InDetSDOOverlay
     alg = InDetSDOOverlay(name, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRT_ConditionsConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRT_ConditionsConfig.py
index 09d25961ba079da714311fe74a09166d2f44d304..ed124dfb894bfa883b16c5b7d2a2dce1665dc8aa 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRT_ConditionsConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/TRT_ConditionsConfig.py
@@ -6,12 +6,13 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TRT_CalDbToolCfg(flags, name = "TRT_CalDbTool"):
     """Return a ComponentAccumulator for TRT_CalDbTool"""
     from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
     acc = addFoldersSplitOnline(flags,"TRT","/TRT/Onl/Calib/T0","/TRT/Calib/T0",className='TRTCond::StrawT0MultChanContainer')
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_CalDbTool
+    TRT_CalDbTool=CompFactory.TRT_CalDbTool
     acc.setPrivateTools(TRT_CalDbTool(name = "TRT_CalDbTool"))
     return acc
 
@@ -19,7 +20,7 @@ def TRT_CalDbToolCfg(flags, name = "TRT_CalDbTool"):
 def TRT_StrawStatusSummaryToolCfg(flags, name = "TRT_StrawStatusSummaryTool"):
     """Return a ComponentAccumulator for TRT_StrawStatusSummaryTool"""
     acc = ComponentAccumulator()
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_StrawStatusSummaryTool
+    TRT_StrawStatusSummaryTool=CompFactory.TRT_StrawStatusSummaryTool
     acc.setPrivateTools(TRT_StrawStatusSummaryTool(name = "TRT_StrawStatusSummaryTool",
                                                    isGEANT4 = flags.Detector.Simulate))
     return acc
@@ -31,7 +32,7 @@ def TRT_LocalOccupancyCfg(flags, name = "TRT_LocalOccupancy"):
     trtCalDbTool = acc.popToolsAndMerge(TRT_CalDbToolCfg(flags))
     trtStrawStatusSummaryTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
 
-    from TRT_ElectronPidTools.TRT_ElectronPidToolsConf import InDet__TRT_LocalOccupancy
+    InDet__TRT_LocalOccupancy=CompFactory.InDet__TRT_LocalOccupancy
     acc.setPrivateTools(InDet__TRT_LocalOccupancy(name = "TRT_LocalOccupancy",
                                                   isTrigger = False,
                                                   TRTCalDbTool = trtCalDbTool,
@@ -44,7 +45,7 @@ def TRTStrawCondAlgCfg(flags, name = "TRTStrawCondAlg"):
     acc = ComponentAccumulator()
     trtStrawStatusSummaryTool = acc.popToolsAndMerge(TRT_StrawStatusSummaryToolCfg(flags))
     # Alive straws algorithm
-    from TRT_ConditionsAlgs.TRT_ConditionsAlgsConf import TRTStrawCondAlg
+    TRTStrawCondAlg=CompFactory.TRTStrawCondAlg
     acc.addCondAlgo(TRTStrawCondAlg(name = "TRTStrawCondAlg",
                                     TRTStrawStatusSummaryTool = trtStrawStatusSummaryTool,
                                     isGEANT4 =flags.Detector.Simulate))
diff --git a/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py b/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py
index 40f7358185c7e3b033e73bed22a40f5059476d0b..1e3fae2056c420060e68968b6dda3ce6925d5295 100644
--- a/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py
+++ b/LArCalorimeter/LArBadChannelTool/python/LArBadChannelConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArBadChannelTool.LArBadChannelToolConf import LArBadChannelCondAlg, LArBadFebCondAlg, LArBadChannelMasker
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArBadChannelCondAlg, LArBadFebCondAlg, LArBadChannelMasker=CompFactory.getComps("LArBadChannelCondAlg","LArBadFebCondAlg","LArBadChannelMasker",)
 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
diff --git a/LArCalorimeter/LArBadChannelTool/python/LArBadFebsConfig.py b/LArCalorimeter/LArBadChannelTool/python/LArBadFebsConfig.py
index 4e32d7cb64653b12acbdd6298452876f80be7de4..ce39d215f7ab9688ad9c90c8b4c86354a6ef276e 100644
--- a/LArCalorimeter/LArBadChannelTool/python/LArBadFebsConfig.py
+++ b/LArCalorimeter/LArBadChannelTool/python/LArBadFebsConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArBadChannelTool.LArBadChannelToolConf import LArBadFebCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArBadFebCondAlg=CompFactory.LArBadFebCondAlg
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
 def LArKnownBadFebCfg(configFlags, tag=""):
diff --git a/LArCalorimeter/LArCabling/python/LArCablingConfig.py b/LArCalorimeter/LArCabling/python/LArCablingConfig.py
index de04bd079d3f5c9aee531e4bc4fb5c91a4bda588..1030263e7d7d9112f5cf7ec31954d8d9d50f67f0 100644
--- a/LArCalorimeter/LArCabling/python/LArCablingConfig.py
+++ b/LArCalorimeter/LArCabling/python/LArCablingConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg, addFolders
-from LArRecUtils.LArRecUtilsConf import LArOnOffMappingAlg, LArFebRodMappingAlg, LArCalibLineMappingAlg
+LArOnOffMappingAlg, LArFebRodMappingAlg, LArCalibLineMappingAlg=CompFactory.getComps("LArOnOffMappingAlg","LArFebRodMappingAlg","LArCalibLineMappingAlg",)
 
 def _larCablingCfg(configFlags,algo,folder):
     result=ComponentAccumulator()
diff --git a/LArCalorimeter/LArCalibUtils/python/LArHVScaleConfig.py b/LArCalorimeter/LArCalibUtils/python/LArHVScaleConfig.py
index 38e273b1dcf22d61c781e89e769576f00abf2748..d112bedb1288b1fcb7a459197be673ffda95e1b7 100644
--- a/LArCalorimeter/LArCalibUtils/python/LArHVScaleConfig.py
+++ b/LArCalorimeter/LArCalibUtils/python/LArHVScaleConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def LArHVScaleCfg(configFlags):
     result=ComponentAccumulator()
@@ -11,7 +12,7 @@ def LArHVScaleCfg(configFlags):
     if configFlags.Input.isMC:
         result.merge(addFolders(configFlags,["/LAR/Identifier/HVLineToElectrodeMap<tag>LARHVLineToElectrodeMap-001</tag>"], "LAR_OFL", className="AthenaAttributeList"))
 
-        from LArRecUtils.LArRecUtilsConf import LArHVIdMappingAlg
+        LArHVIdMappingAlg=CompFactory.LArHVIdMappingAlg
         hvmapalg = LArHVIdMappingAlg(ReadKey="/LAR/Identifier/HVLineToElectrodeMap",WriteKey="LArHVIdMap")
         result.addCondAlgo(hvmapalg)
 
@@ -27,24 +28,24 @@ def LArHVScaleCfg(configFlags):
         result.merge(LArBadChannelCfg(configFlags))
         result.merge(LArBadFebCfg(configFlags))
 
-        from LArRecUtils.LArRecUtilsConf import LArHVIdMappingAlg
+        LArHVIdMappingAlg=CompFactory.LArHVIdMappingAlg
         hvmapalg = LArHVIdMappingAlg(ReadKey="/LAR/IdentifierOfl/HVLineToElectrodeMap",WriteKey="LArHVIdMap")
         result.addCondAlgo(hvmapalg)
 
-        from LArRecUtils.LArRecUtilsConf import LArHVPathologyDbCondAlg
+        LArHVPathologyDbCondAlg=CompFactory.LArHVPathologyDbCondAlg
         hvpath = LArHVPathologyDbCondAlg(PathologyFolder="/LAR/HVPathologiesOfl/Pathologies",
                                          HVMappingKey="LArHVIdMap",
                                          HVPAthologyKey="LArHVPathology")
         result.addCondAlgo(hvpath)
 
-        from LArRecUtils.LArRecUtilsConf import LArHVCondAlg
+        LArHVCondAlg=CompFactory.LArHVCondAlg
         hvcond = LArHVCondAlg("LArHVPathologyAlg",HVPathologies="LArHVPathology",OutputHVData="LArHVData")
         result.addCondAlgo(hvcond)
 
         from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
         result.merge(LArElecCalibDbCfg(configFlags,["HVScaleCorr",]))
 
-        from LArRecUtils.LArRecUtilsConf import LArHVScaleCorrCondAlg
+        LArHVScaleCorrCondAlg=CompFactory.LArHVScaleCorrCondAlg
         hvscalecorrkey = "LArHVScaleCorrRecomputed"
         if configFlags.Input.isMC:
             hvscalecorrkey = "LArHVScaleCorr"
diff --git a/LArCalorimeter/LArCellRec/python/LArCellBuilderConfig.py b/LArCalorimeter/LArCellRec/python/LArCellBuilderConfig.py
index 12a5f5efc931c2ada98ababdfb62af83dbad9767..bfb96b2015f18995cf3bba60e6d5f6555f514ab8 100644
--- a/LArCalorimeter/LArCellRec/python/LArCellBuilderConfig.py
+++ b/LArCalorimeter/LArCellRec/python/LArCellBuilderConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArCellRec.LArCellRecConf import LArCellBuilderFromLArRawChannelTool, LArCellMerger, LArCellNoiseMaskingTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArCellBuilderFromLArRawChannelTool, LArCellMerger, LArCellNoiseMaskingTool=CompFactory.getComps("LArCellBuilderFromLArRawChannelTool","LArCellMerger","LArCellNoiseMaskingTool",)
 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg 
 from LArCalibUtils.LArHVScaleConfig import LArHVScaleCfg
 
@@ -48,7 +49,7 @@ def LArCellCorrectorCfg(configFlags):
 def LArHVCellContCorrCfg(configFlags):
     acc=ComponentAccumulator()
     acc.merge(LArHVScaleCfg(configFlags)) #CondAlgo & co for HVScale Corr
-    from LArCellRec.LArCellRecConf import LArCellContHVCorrTool
+    LArCellContHVCorrTool=CompFactory.LArCellContHVCorrTool
     theLArCellHVCorrTool = LArCellContHVCorrTool()
     acc.setPrivateTools(theLArCellHVCorrTool)
     return acc
diff --git a/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py b/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py
index 6e83f33bef3de65361290152c68c5692c2c169fc..7f981afa82793cb861a8c08a4bc82bc64b3543f7 100644
--- a/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py
+++ b/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py
@@ -3,12 +3,13 @@
 # python fragment to configure LAr collision time algo
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def LArCollisionTimeCfg(configFlags):
 
    result=ComponentAccumulator()
 
-   from LArCellRec.LArCellRecConf import LArCollisionTimeAlg
+   LArCollisionTimeAlg=CompFactory.LArCollisionTimeAlg
    result.addEventAlgo(LArCollisionTimeAlg("LArCollisionTimeAlg", isMC=configFlags.Input.isMC))
 
    return result   
diff --git a/LArCalorimeter/LArCellRec/python/LArNoisyROSummaryConfig.py b/LArCalorimeter/LArCellRec/python/LArNoisyROSummaryConfig.py
index adc411da4aeebd584b67164161713f4176624043..813e1cd133cce5302e648805c2bbd754274cc82c 100755
--- a/LArCalorimeter/LArCellRec/python/LArNoisyROSummaryConfig.py
+++ b/LArCalorimeter/LArCellRec/python/LArNoisyROSummaryConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from LArCellRec.LArNoisyROFlags import larNoisyROFlags
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from LArBadChannelTool.LArBadFebsConfig import LArKnownBadFebCfg, LArKnownMNBFebCfg
@@ -14,7 +15,7 @@ def LArNoisyROSummaryCfg(configFlags):
 
    # now configure the algorithm
    try:        
-       from LArCellRec.LArCellRecConf import LArNoisyROAlg,LArNoisyROTool
+       LArNoisyROAlg,LArNoisyROTool=CompFactory.getComps("LArNoisyROAlg","LArNoisyROTool")
    except Exception:
        import traceback
        print(traceback.format_exc())
diff --git a/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py b/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
index c094cb0dca0f5297b1fa301107a65c48d1be2e20..db72128047bab71cf93b8f4982730f0db3db9ac2 100644
--- a/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
+++ b/LArCalorimeter/LArCnv/LArByteStream/python/LArRawDataReadingConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg
-from LArByteStream.LArByteStreamConf import LArRawDataReadingAlg
+LArRawDataReadingAlg=CompFactory.LArRawDataReadingAlg
 
 def LArRawDataReadingCfg(configFlags):
     acc=ComponentAccumulator()
@@ -29,7 +30,7 @@ if __name__=="__main__":
 
     acc=LArRawDataReadingCfg(ConfigFlags)
     
-    from LArEventTest.LArEventTestConf import DumpLArRawChannels
+    DumpLArRawChannels=CompFactory.DumpLArRawChannels
     from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg 
     acc.merge(LArOnOffIdMappingCfg(ConfigFlags))
     acc.addEventAlgo(DumpLArRawChannels(LArRawChannelContainerName="LArRawChannels",))
diff --git a/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py b/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
index c68230096c2acd1c19e2840ea6d9823173fe1a11..3ad985c190e31288ac847045b49d56277bf82efe 100644
--- a/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
+++ b/LArCalorimeter/LArConfiguration/python/LArElecCalibDBConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator,ConfigurationError
 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg,addFolderList
@@ -137,7 +138,7 @@ def LArElecCalibDBMCCfg(ConfigFlags,folders):
     #Add cabling
     from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
     result.merge(LArOnOffIdMappingCfg(ConfigFlags))
-    from LArRecUtils.LArRecUtilsConf import LArMCSymCondAlg
+    LArMCSymCondAlg=CompFactory.LArMCSymCondAlg
     result.addCondAlgo(LArMCSymCondAlg(ReadKey="LArOnOffIdMap"))
     folderlist=[]
     for folder in folders:
diff --git a/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py b/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
index 3ba5deccf86c02bf8e5e204b73978d1367413044..63dde2cd9c38acb0d190b0daa006063c8ddca7d0 100644
--- a/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
+++ b/LArCalorimeter/LArDigitization/python/LArDigitizationConfigNew.py
@@ -4,24 +4,25 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 # utilities
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
-from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+PileUpXingFolder=CompFactory.PileUpXingFolder
+AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
 # for PileUpTool
-from LArDigitization.LArDigitizationConf import LArPileUpTool
+LArPileUpTool=CompFactory.LArPileUpTool
 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
 from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
 from LArRecUtils.LArRecUtilsConfig import LArAutoCorrNoiseCondAlgCfg
 from LArBadChannelTool.LArBadChannelConfig import LArBadChannelMaskerCfg, LArBadFebCfg
 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
-from CommissionUtils.CommissionUtilsConf import CosmicTriggerTimeTool
+CosmicTriggerTimeTool=CompFactory.CosmicTriggerTimeTool
 from Digitization.PileUpToolsConfig import PileUpToolsCfg
 # for Digitization
-from LArDigitization.LArDigitizationConf import LArDigitMaker
+LArDigitMaker=CompFactory.LArDigitMaker
 from LArROD.LArRawChannelBuilderAlgConfig import LArRawChannelBuilderAlgCfg
 from LArROD.LArDigitThinnerConfig import LArDigitThinnerCfg
 # for Trigger Tower
-from LArL1Sim.LArL1SimConf import LArTTL1Maker
+LArTTL1Maker=CompFactory.LArTTL1Maker
 from LArCabling.LArCablingConfig import LArFebRodMappingCfg, LArCalibIdMappingCfg
 from CaloConditions.CaloConditionsConfig import CaloTriggerTowerCfg
 
diff --git a/LArCalorimeter/LArG4/LArG4Barrel/python/LArG4BarrelConfigNew.py b/LArCalorimeter/LArG4/LArG4Barrel/python/LArG4BarrelConfigNew.py
index c553476557fcac896acd2317362f67f705b981e9..e5504e9339b76b0904b3644435f94c9c2c068275 100644
--- a/LArCalorimeter/LArG4/LArG4Barrel/python/LArG4BarrelConfigNew.py
+++ b/LArCalorimeter/LArG4/LArG4Barrel/python/LArG4BarrelConfigNew.py
@@ -1,15 +1,16 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelCryostat__CalibrationCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelCryostat__CalibrationLArCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelCryostat__CalibrationMixedCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__DM__CalibrationCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__Barrel__CalibrationCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelPresampler__CalibrationCalculator
-from LArG4Barrel.LArG4BarrelConf import LArBarrelCalculator
-from LArG4Barrel.LArG4BarrelConf import LArBarrelPresamplerCalculator
-from LArG4Barrel.LArG4BarrelConf import LArG4__Barrel__Geometry
-from LArG4Barrel.LArG4BarrelConf import LArG4__BarrelPresampler__Geometry
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArG4__BarrelCryostat__CalibrationCalculator=CompFactory.LArG4__BarrelCryostat__CalibrationCalculator
+LArG4__BarrelCryostat__CalibrationLArCalculator=CompFactory.LArG4__BarrelCryostat__CalibrationLArCalculator
+LArG4__BarrelCryostat__CalibrationMixedCalculator=CompFactory.LArG4__BarrelCryostat__CalibrationMixedCalculator
+LArG4__DM__CalibrationCalculator=CompFactory.LArG4__DM__CalibrationCalculator
+LArG4__Barrel__CalibrationCalculator=CompFactory.LArG4__Barrel__CalibrationCalculator
+LArG4__BarrelPresampler__CalibrationCalculator=CompFactory.LArG4__BarrelPresampler__CalibrationCalculator
+LArBarrelCalculator=CompFactory.LArBarrelCalculator
+LArBarrelPresamplerCalculator=CompFactory.LArBarrelPresamplerCalculator
+LArG4__Barrel__Geometry=CompFactory.LArG4__Barrel__Geometry
+LArG4__BarrelPresampler__Geometry=CompFactory.LArG4__BarrelPresampler__Geometry
 
 def BarrelCryostatCalibrationCalculatorCfg(ConfigFlags, name="BarrelCryostatCalibrationCalculator", **kwargs):
     result = ComponentAccumulator()
diff --git a/LArCalorimeter/LArG4/LArG4FCAL/python/LArG4FCALConfigNew.py b/LArCalorimeter/LArG4/LArG4FCAL/python/LArG4FCALConfigNew.py
index fb86ef323dbd2b948918704d94a9714f59d05c12..28c56dd14c0f452ac7045231e8ca03269c345986 100644
--- a/LArCalorimeter/LArG4/LArG4FCAL/python/LArG4FCALConfigNew.py
+++ b/LArCalorimeter/LArG4/LArG4FCAL/python/LArG4FCALConfigNew.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArG4FCAL.LArG4FCALConf import LArFCALCalculatorBase
-from LArG4FCAL.LArG4FCALConf import LArG4__FCAL__LArFCALCalibCalculatorBase
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArFCALCalculatorBase=CompFactory.LArFCALCalculatorBase
+LArG4__FCAL__LArFCALCalibCalculatorBase=CompFactory.LArG4__FCAL__LArFCALCalibCalculatorBase
 from AthenaCommon.SystemOfUnits import mm,deg,ns
 import math
 
diff --git a/LArCalorimeter/LArG4/LArG4HEC/python/LArG4HECConfigNew.py b/LArCalorimeter/LArG4/LArG4HEC/python/LArG4HECConfigNew.py
index 1c909c78e04757b3c4c07f3c2694513622705a0d..e11db00354dc7644de5f9a8b0315cd291308181d 100644
--- a/LArCalorimeter/LArG4/LArG4HEC/python/LArG4HECConfigNew.py
+++ b/LArCalorimeter/LArG4/LArG4HEC/python/LArG4HECConfigNew.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from LArG4HEC.LArG4HECConf import LArHECLocalCalculator
-from LArG4HEC.LArG4HECConf import LArG4__HEC__LocalCalibrationCalculator
-from LArG4HEC.LArG4HECConf import LArG4__HEC__LArHECCalibrationWheelCalculator
-from LArG4HEC.LArG4HECConf import LArG4__HEC__LocalGeometry
-from LArG4HEC.LArG4HECConf import LArHECWheelCalculator
-from LArG4HEC.LArG4HECConf import LArG4__HEC__HECGeometry
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArHECLocalCalculator=CompFactory.LArHECLocalCalculator
+LArG4__HEC__LocalCalibrationCalculator=CompFactory.LArG4__HEC__LocalCalibrationCalculator
+LArG4__HEC__LArHECCalibrationWheelCalculator=CompFactory.LArG4__HEC__LArHECCalibrationWheelCalculator
+LArG4__HEC__LocalGeometry=CompFactory.LArG4__HEC__LocalGeometry
+LArHECWheelCalculator=CompFactory.LArHECWheelCalculator
+LArG4__HEC__HECGeometry=CompFactory.LArG4__HEC__HECGeometry
 from LArG4HEC import HECGeometryType
 
 def LArHECLocalCalculatorCfg(ConfigFlags, name="LArHECLocalCalculator", **kwargs):
diff --git a/LArCalorimeter/LArG4/LArG4SD/python/LArG4SDToolConfig.py b/LArCalorimeter/LArG4/LArG4SD/python/LArG4SDToolConfig.py
index 79130ad3bd0d5452dd50829574e01ae9fcecc584..11fddbc338d124e6f956cc4ecae562c3ad2613c9 100644
--- a/LArCalorimeter/LArG4/LArG4SD/python/LArG4SDToolConfig.py
+++ b/LArCalorimeter/LArG4/LArG4SD/python/LArG4SDToolConfig.py
@@ -1,17 +1,18 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from LArG4SD.LArG4SDConf import LArG4__EMBSDTool
-from LArG4SD.LArG4SDConf import LArG4__EMECSDTool
-from LArG4SD.LArG4SDConf import LArG4__FCALSDTool
-from LArG4SD.LArG4SDConf import LArG4__HECSDTool
-from LArG4SD.LArG4SDConf import LArG4__MiniFCALSDTool
-from LArG4SD.LArG4SDConf import LArG4__DeadSDTool
-from LArG4SD.LArG4SDConf import LArG4__ActiveSDTool
-from LArG4SD.LArG4SDConf import LArG4__InactiveSDTool
-from LArG4SD.LArG4SDConf import LArG4__CalibrationDefaultCalculator
+LArG4__EMBSDTool=CompFactory.LArG4__EMBSDTool
+LArG4__EMECSDTool=CompFactory.LArG4__EMECSDTool
+LArG4__FCALSDTool=CompFactory.LArG4__FCALSDTool
+LArG4__HECSDTool=CompFactory.LArG4__HECSDTool
+LArG4__MiniFCALSDTool=CompFactory.LArG4__MiniFCALSDTool
+LArG4__DeadSDTool=CompFactory.LArG4__DeadSDTool
+LArG4__ActiveSDTool=CompFactory.LArG4__ActiveSDTool
+LArG4__InactiveSDTool=CompFactory.LArG4__InactiveSDTool
+LArG4__CalibrationDefaultCalculator=CompFactory.LArG4__CalibrationDefaultCalculator
 
 #to be migrated: getCalibrationDefaultCalculator, getDeadMaterialCalibrationHitMerger
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
index 6d1932a9e1486d04b9aacddb59f552ca983d0805..83744df6de2dffe046f01f223d87270d424e71b9 100644
--- a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
+++ b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/python/LArGMConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
 def LArGMCfg(configFlags):
@@ -9,7 +10,7 @@ def LArGMCfg(configFlags):
 
     doAlignment=configFlags.LAr.doAlign
     
-    from LArGeoAlgsNV.LArGeoAlgsNVConf import LArDetectorToolNV
+    LArDetectorToolNV=CompFactory.LArDetectorToolNV
     result.getPrimary().DetectorTools += [ LArDetectorToolNV(ApplyAlignments=doAlignment) ]
     if not configFlags.Detector.SimulateCalo:
         result.getPrimary().DetectorTools["LArDetectorToolNV"].GeometryConfig = "RECO"
diff --git a/LArCalorimeter/LArMonitoring/python/LArHVDBConfig.py b/LArCalorimeter/LArMonitoring/python/LArHVDBConfig.py
index cb965457f09bbc6c89b4d510467726ae1b44bffa..da97cd6f240e8b734daa6a7347d3e2ff8a06ee2d 100644
--- a/LArCalorimeter/LArMonitoring/python/LArHVDBConfig.py
+++ b/LArCalorimeter/LArMonitoring/python/LArHVDBConfig.py
@@ -3,6 +3,7 @@
 # python fragment to configure LAr HV conditions chain
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg,addFolders
 
 def LArHVDBCfg(configFlags):
@@ -17,16 +18,16 @@ def LArHVDBCfg(configFlags):
       result.merge(addFolders(configFlags,["/LAR/DCS/HV/BARREl/I16","/LAR/DCS/HV/BARREL/I8"],detDb="DCS_OFL",className="CondAttrListCollection"))
       result.merge(addFolders(configFlags,["/LAR/IdentifierOfl/HVLineToElectrodeMap","/LAR/HVPathologiesOfl/Pathologies"],detDb="LAR_OFL",className="AthenaAttributeList"))
  
-      from LArRecUtils.LArRecUtilsConf import LArHVIdMappingAlg
+      LArHVIdMappingAlg=CompFactory.LArHVIdMappingAlg
       result.addCondAlgo(LArHVIdMappingAlg(ReadKey="/LAR/IdentifierOfl/HVLineToElectrodeMap",WriteKey="LArHVIdMap"))
  
-      from LArRecUtils.LArRecUtilsConf import LArHVPathologyDbCondAlg
+      LArHVPathologyDbCondAlg=CompFactory.LArHVPathologyDbCondAlg
       result.addCondAlgo(LArHVPathologyDbCondAlg(PathologyFolder="/LAR/HVPathologiesOfl/Pathologies",HVMappingKey="LArHVIdMap", HVPAthologyKey="LArHVPathology"))
  
-      from LArRecUtils.LArRecUtilsConf import LArHVCondAlg
+      LArHVCondAlg=CompFactory.LArHVCondAlg
       result.addCondAlgo(LArHVCondAlg(HVPathologies="LArHVPathology",OutputHVData="LArHVData"))
  
-      from LArRecUtils.LArRecUtilsConf import LArHVScaleCorrCondAlg
+      LArHVScaleCorrCondAlg=CompFactory.LArHVScaleCorrCondAlg
       hvscale = LArHVScaleCorrCondAlg(keyHVdata="LArHVData",keyOutputCorr="LArHVScaleCorrRecomputed")
       hvscale.UndoOnlineHVCorr=True
       result.addCondAlgo(hvscale)
diff --git a/LArCalorimeter/LArROD/python/LArFebErrorSummaryMakerConfig.py b/LArCalorimeter/LArROD/python/LArFebErrorSummaryMakerConfig.py
index c5dff81cb69f940aa553ca7325138c4d7dfa4325..1f9ad8979e09235ce8001fed3180d1656d061f71 100644
--- a/LArCalorimeter/LArROD/python/LArFebErrorSummaryMakerConfig.py
+++ b/LArCalorimeter/LArROD/python/LArFebErrorSummaryMakerConfig.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
-from LArROD.LArRODConf import LArFebErrorSummaryMaker
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArFebErrorSummaryMaker=CompFactory.LArFebErrorSummaryMaker
 from LArBadChannelTool.LArBadChannelConfig import LArBadFebCfg
 
 def LArFebErrorSummaryMakerCfg(configFlags):
diff --git a/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py b/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
index f8af229c3fd80e67e75bc257711f72099659aef1..153013a1a7236e63d169bfc0f500b806c6242b5c 100644
--- a/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
+++ b/LArCalorimeter/LArROD/python/LArRawChannelBuilderAlgConfig.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-from LArROD.LArRODConf import LArRawChannelBuilderAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArRawChannelBuilderAlg=CompFactory.LArRawChannelBuilderAlg
 from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
 from LArRecUtils.LArRecUtilsConfig import LArOFCCondAlgCfg
@@ -47,7 +48,7 @@ if __name__=="__main__":
     acc.merge(LArRawDataReadingCfg(ConfigFlags))
     acc.merge(LArRawChannelBuilderAlgCfg(ConfigFlags))
     
-    from LArEventTest.LArEventTestConf import DumpLArRawChannels
+    DumpLArRawChannels=CompFactory.DumpLArRawChannels
     acc.addEventAlgo(DumpLArRawChannels(LArRawChannelContainerName="LArRawChannels_FromDigits",),sequenceName="AthAlgSeq")
 
     acc.run(3)
diff --git a/LArCalorimeter/LArRecUtils/python/LArFebConfigCondAlgConfig.py b/LArCalorimeter/LArRecUtils/python/LArFebConfigCondAlgConfig.py
index cd09e132cef5c8c6208023c881af1c1b91d75774..ce8278553d7bd8ca7cdde821bd97ff46a32108a9 100644
--- a/LArCalorimeter/LArRecUtils/python/LArFebConfigCondAlgConfig.py
+++ b/LArCalorimeter/LArRecUtils/python/LArFebConfigCondAlgConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from IOVDbSvc.IOVDbSvcConfig import addFolders
-from LArRecUtils.LArRecUtilsConf import LArFEBConfigCondAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+LArFEBConfigCondAlg=CompFactory.LArFEBConfigCondAlg
 
 def LArFebConfigCondAlgCfg(flags, name="LArFEBConfigCondAlg", **kwargs): 
     """Return ComponentAccumulator with configured LArFEBConfigCondAlg"""
diff --git a/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py b/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
index 8ef80a762f2bef1e31df7e799b844857cf66497f..ebbb5ec974a0baef366be69fe34325a4ac27696c 100644
--- a/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
+++ b/LArCalorimeter/LArRecUtils/python/LArRecUtilsConfig.py
@@ -3,9 +3,10 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Logging import logging
 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
-from LArRecUtils.LArRecUtilsConf import LArMCSymCondAlg
+LArMCSymCondAlg=CompFactory.LArMCSymCondAlg
 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDbCfg
 
 
@@ -20,7 +21,7 @@ def LArMCSymCondAlgCfg(flags, name="LArMCSymCondAlg", **kwargs):
 def LArAutoCorrNoiseCondAlgCfg(flags, name="LArAutoCorrNoiseCondAlg", **kwargs):
     """Return ComponentAccumulator with configured LArAutoCorrNoiseCondAlg"""
 
-    from LArRecUtils.LArRecUtilsConf import LArAutoCorrNoiseCondAlg
+    LArAutoCorrNoiseCondAlg=CompFactory.LArAutoCorrNoiseCondAlg
     # The LArAutoCorrNoiseCondAlgCfg needs the cabling, the sym-object and the AutoCorr
     acc = LArOnOffIdMappingCfg(flags)
     acc.merge(LArMCSymCondAlgCfg(flags))
@@ -55,7 +56,7 @@ def LArOFCCondAlgCfg (flags, name = 'LArOFCCondAlg', **kwargs):
     requiredConditons=["Shape","Noise","Pedestal"]
     acc.merge(LArElecCalibDbCfg(flags,requiredConditons))
     acc.merge(LArAutoCorrTotalCondAlgCfg(flags))
-    from LArRecUtils.LArRecUtilsConf import LArOFCCondAlg
+    LArOFCCondAlg=CompFactory.LArOFCCondAlg
     acc.addCondAlgo (LArOFCCondAlg (name, **kwargs))
     return acc
 
@@ -89,7 +90,7 @@ def LArAutoCorrTotalCondAlgCfg (flags, name = 'LArAutoCorrTotalCondAlg', **kwarg
     acc = LArOnOffIdMappingCfg(flags)
     requiredConditons=["Shape","AutoCorr","Noise","Pedestal","fSampl","MinBias"]
     acc.merge(LArElecCalibDbCfg(flags,requiredConditons))
-    from LArRecUtils.LArRecUtilsConf import LArAutoCorrTotalCondAlg
+    LArAutoCorrTotalCondAlg=CompFactory.LArAutoCorrTotalCondAlg
     acc.addCondAlgo (LArAutoCorrTotalCondAlg (name, **kwargs))
     return acc
 
diff --git a/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgConfig.py b/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgConfig.py
index 57d110089a096116c726a2b2fbce6c70fec8298c..df3289e2b2f6b0dd7e5542bee65f59581d6181df 100644
--- a/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgConfig.py
+++ b/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 #from AthenaConfiguration.MainServicesConfig import MainServicesSerial
 
 
 def BunchCrossingCondAlgCfg(configFlags):
-    from LumiBlockComps.LumiBlockCompsConf import BunchCrossingCondAlg
+    BunchCrossingCondAlg=CompFactory.BunchCrossingCondAlg
     from IOVDbSvc.IOVDbSvcConfig import addFolders
 
     result=ComponentAccumulator()
@@ -51,8 +52,9 @@ if __name__=="__main__":
     result=MainServicesSerialCfg()
 
 
-    from McEventSelector.McEventSelectorConf import McEventSelector,McCnvSvc
-    from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+    McEventSelector=CompFactory.McEventSelector
+    McCnvSvc=CompFactory.McCnvSvc
+    EvtPersistencySvc=CompFactory.EvtPersistencySvc
 
     #event & time-stamp from the q431 test input 
     mcevtsel=McEventSelector(RunNumber=330470,
@@ -76,7 +78,7 @@ if __name__=="__main__":
     result.merge(BunchCrossingCondAlgCfg(ConfigFlags))
     
     
-    from LumiBlockComps.LumiBlockCompsConf import BunchCrossingCondTest
+    BunchCrossingCondTest=CompFactory.BunchCrossingCondTest
     result.addEventAlgo(BunchCrossingCondTest(FileName="BCData1.txt"))
 
     result.run(1)
diff --git a/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgTest.py b/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgTest.py
index ccf2673e04d0a12a3fae1bca9e6f0663c7e82149..432e7dab0ead152ebebc5c4b2b8c7817d311806e 100644
--- a/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgTest.py
+++ b/LumiBlock/LumiBlockComps/python/BunchCrossingCondAlgTest.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from future import standard_library
+from AthenaConfiguration.ComponentFactory import CompFactory
 standard_library.install_aliases()
 
 import sys,os
@@ -96,8 +97,9 @@ ConfigFlags.lock()
 result=MainServicesSerialCfg()
 
 
-from McEventSelector.McEventSelectorConf import McEventSelector,McCnvSvc
-from GaudiSvc.GaudiSvcConf import EvtPersistencySvc
+McEventSelector=CompFactory.McEventSelector
+McCnvSvc=CompFactory.McCnvSvc
+EvtPersistencySvc=CompFactory.EvtPersistencySvc
 
 mcevtsel=McEventSelector(RunNumber=330470,
                          EventsPerRun=1,
@@ -123,7 +125,7 @@ result.merge(BunchCrossingCondAlgCfg(ConfigFlags))
 result.getService("IOVDbSvc").Folders=["<db>sqlite://;schema=test.db;dbname=CONDBR2</db><tag>HEAD</tag>/TDAQ/OLC/LHC/FILLPARAMS"]
 result.getCondAlgo("BunchCrossingCondAlg").OutputLevel=1
     
-from LumiBlockComps.LumiBlockCompsConf import BunchCrossingCondTest
+BunchCrossingCondTest=CompFactory.BunchCrossingCondTest
 result.addEventAlgo(BunchCrossingCondTest(FileName="BCData.txt",compact=True))
 
 
diff --git a/LumiBlock/LumiBlockComps/python/LBDurationCondAlgConfig.py b/LumiBlock/LumiBlockComps/python/LBDurationCondAlgConfig.py
index c3b1bb094b81d6bc934401cb9248b2fe15c8717f..988a49150256c6ab4fb7e75ef343e3a3bc870033 100644
--- a/LumiBlock/LumiBlockComps/python/LBDurationCondAlgConfig.py
+++ b/LumiBlock/LumiBlockComps/python/LBDurationCondAlgConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -21,7 +22,7 @@ def LBDurationCondAlgCfg (configFlags):
     result.merge (addFolders (configFlags, folder, 'TRIGGER',
                               className = 'AthenaAttributeList'))
 
-    from LumiBlockComps.LumiBlockCompsConf import LBDurationCondAlg
+    LBDurationCondAlg=CompFactory.LBDurationCondAlg
     alg = LBDurationCondAlg (name,
                              LBLBFolderInputKey = folder,
                              LBDurationOutputKey = 'LBDurationCondData')
diff --git a/LumiBlock/LumiBlockComps/python/LuminosityCondAlgConfig.py b/LumiBlock/LumiBlockComps/python/LuminosityCondAlgConfig.py
index 6f5332852d97458960e55b35315dff87718c66d3..1011958409824c234afd7ac7e85aafbd06fcabb4 100644
--- a/LumiBlock/LumiBlockComps/python/LuminosityCondAlgConfig.py
+++ b/LumiBlock/LumiBlockComps/python/LuminosityCondAlgConfig.py
@@ -5,10 +5,9 @@
 # Purpose: Configure LuminosityCondAlg.
 #
 
-
 from __future__ import print_function
 
-
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 from AthenaCommon.Logging import logging
@@ -43,8 +42,8 @@ def LuminosityCondAlgCfg (configFlags, useOnlineLumi=None, suffix=None):
         log.warning ("LuminosityCondAlgCfg can't resolve database instance = %s, assume Run2!" % configFlags.IOVDb.DatabaseInstance)
         kwargs = luminosityCondAlgRun2Cfg (configFlags, name, result)
 
-    from LumiBlockComps.LumiBlockCompsConf import \
-        LuminosityCondAlg
+    LuminosityCondAlg=CompFactory.LuminosityCondAlg
+
     alg = LuminosityCondAlg (name,
                              LuminosityOutputKey = 'LuminosityCondData' + suffix,
                              **kwargs)
diff --git a/LumiBlock/LumiBlockComps/python/TrigLiveFractionCondAlgConfig.py b/LumiBlock/LumiBlockComps/python/TrigLiveFractionCondAlgConfig.py
index 8fe493260f00f28c4d5bb8f3fd5c66cece294424..a2b2385e784d7a55f786e817522af63cbb266a55 100644
--- a/LumiBlock/LumiBlockComps/python/TrigLiveFractionCondAlgConfig.py
+++ b/LumiBlock/LumiBlockComps/python/TrigLiveFractionCondAlgConfig.py
@@ -7,8 +7,7 @@
 
 
 from __future__ import print_function
-
-
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
@@ -37,7 +36,7 @@ def TrigLiveFractionCondAlgCfg (configFlags):
         kwargs['LuminosityInputKey'] = ''
 
 
-    from LumiBlockComps.LumiBlockCompsConf import TrigLiveFractionCondAlg
+    TrigLiveFractionCondAlg=CompFactory.TrigLiveFractionCondAlg
     alg = TrigLiveFractionCondAlg (name,
                                    TrigLiveFractionOutputKey = 'TrigLiveFractionCondData',
                                    **kwargs)
diff --git a/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py b/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
index 15d155770e1b7e22f4008f10faa79691eb28722a..7ebdd2b1c8b156ae58fa5b8867926adb9664789e 100644
--- a/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
+++ b/MagneticField/MagFieldServices/python/MagFieldServicesConfig.py
@@ -6,13 +6,14 @@
 # inspired by https://svnweb.cern.ch/trac/atlasoff/browser/MuonSpectrometer/MuonCnv/MuonCnvExample/trunk/python/MuonCalibConfig.py
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 logging.getLogger().info("Importing %s", __name__)
 
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
 from AthenaCommon.GlobalFlags import GlobalFlags
 from AthenaCommon import CfgMgr
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from MagFieldServices.MagFieldServicesConf import MagField__AtlasFieldSvc
+MagField__AtlasFieldSvc=CompFactory.MagField__AtlasFieldSvc
 
 #--------------------------------------------------------------
 
diff --git a/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
index bfcbd06b356371c87d085065e4f184264eec73d3..b77270404c08adf6e060f163a9e07babd2641cab 100644
--- a/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
@@ -3,11 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
 from MuonConfig.MuonCalibConfig import CscCoolStrSvcCfg
-from CSC_Digitization.CSC_DigitizationConf import CscDigitizationTool, CscDigitBuilder
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+CscDigitizationTool, CscDigitBuilder=CompFactory.getComps("CscDigitizationTool","CscDigitBuilder",)
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from MuonConfig.MuonByteStreamCnvTestConfig import CscDigitToCscRDOCfg, CscOverlayDigitToCscRDOCfg
 from MuonConfig.MuonCablingConfig import CSCCablingConfigCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
diff --git a/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
index 27834170d44553ad39146711b1625870e14f5af4..350fb82977af1a382cc791affd049e17a4ae13e9 100644
--- a/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
@@ -3,12 +3,13 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
 from MDT_Digitization.MDT_DigitizationConf import (
     MdtDigitizationTool, MDT_Response_DigiTool, RT_Relation_DB_DigiTool, MDT_Digitizer
 )
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from MuonConfig.MuonByteStreamCnvTestConfig import MdtDigitToMdtRDOCfg, MdtOverlayDigitToMdtRDOCfg
 from MuonConfig.MuonCablingConfig import MDTCablingConfigCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
diff --git a/MuonSpectrometer/MuonConfig/python/MuonByteStreamCnvTestConfig.py b/MuonSpectrometer/MuonConfig/python/MuonByteStreamCnvTestConfig.py
index 1ebdfcc802c02a49fc81b5e7f1c832f0838819c8..43482003af004034edfc75c4e2c485fe6d786bf7 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonByteStreamCnvTestConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonByteStreamCnvTestConfig.py
@@ -3,11 +3,12 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MuonByteStreamCnvTest.MuonByteStreamCnvTestConf import (
     MdtRdoToMdtDigit, RpcRdoToRpcDigit, TgcRdoToTgcDigit, STGC_RdoToDigit, MM_RdoToDigit, 
     MdtDigitToMdtRDO, RpcDigitToRpcRDO, TgcDigitToTgcRDO, STGC_DigitToRDO, MM_DigitToRDO, CscDigitToCscRDO
 )
-from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import CscDigitToCscRDOTool
+CscDigitToCscRDOTool=CompFactory.CscDigitToCscRDOTool
 from MuonConfig.MuonCalibConfig import CscCalibToolCfg
 
 def MdtRdoToMdtDigitCfg(flags, name="MdtRdoToMdtDigitAlg", **kwargs):
diff --git a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
index 94c543de36c45f012f9e812969861438ede33b7b..ae447293546755d151adba7ad8e4fa3281c0e9fe 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
@@ -1,6 +1,7 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import DEBUG
 
 ## Small class to hold the names for cache containers, should help to avoid copy / paste errors
@@ -17,7 +18,7 @@ class MuonCacheNames(object):
 def MuonCacheCfg():
     acc = ComponentAccumulator()
 
-    from MuonByteStream.MuonByteStreamConf import MuonCacheCreator
+    MuonCacheCreator=CompFactory.MuonCacheCreator
     cacheCreator = MuonCacheCreator(MdtCsmCacheKey = MuonCacheNames.MdtCsmCache,
                                     CscCacheKey    = MuonCacheNames.CscCache,
                                     RpcCacheKey    = MuonCacheNames.RpcCache,
@@ -42,16 +43,16 @@ def RpcBytestreamDecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags)) 
 
     # Setup the RPC ROD decoder
-    from MuonRPC_CnvTools.MuonRPC_CnvToolsConf import Muon__RpcROD_Decoder
+    Muon__RpcROD_Decoder=CompFactory.Muon__RpcROD_Decoder
     RPCRodDecoder = Muon__RpcROD_Decoder(name	     = "RpcROD_Decoder" )
 
     # RAW data provider tool needs ROB data provider service (should be another Config function?)
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc )
 
     # Setup the RAW data provider tool
-    from MuonRPC_CnvTools.MuonRPC_CnvToolsConf import Muon__RPC_RawDataProviderToolMT
+    Muon__RPC_RawDataProviderToolMT=CompFactory.Muon__RPC_RawDataProviderToolMT
     MuonRpcRawDataProviderTool = Muon__RPC_RawDataProviderToolMT(name    = "RPC_RawDataProviderToolMT",
                                                                Decoder = RPCRodDecoder )
     if forTrigger:
@@ -61,7 +62,7 @@ def RpcBytestreamDecodeCfg(flags, forTrigger=False):
     acc.addPublicTool( MuonRpcRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Setup the RAW data provider algorithm
-    from MuonByteStream.MuonByteStreamConf import Muon__RpcRawDataProvider
+    Muon__RpcRawDataProvider=CompFactory.Muon__RpcRawDataProvider
     RpcRawDataProvider = Muon__RpcRawDataProvider(name         = "RpcRawDataProvider",
                                                   ProviderTool = MuonRpcRawDataProviderTool )
 
@@ -85,16 +86,16 @@ def TgcBytestreamDecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags)) 
 
     # Setup the TGC ROD decoder
-    from MuonTGC_CnvTools.MuonTGC_CnvToolsConf import Muon__TGC_RodDecoderReadout
+    Muon__TGC_RodDecoderReadout=CompFactory.Muon__TGC_RodDecoderReadout
     TGCRodDecoder = Muon__TGC_RodDecoderReadout(name = "TgcROD_Decoder")
 
     # RAW data provider tool needs ROB data provider service (should be another Config function?)
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc )
 
     # Setup the RAW data provider tool
-    from MuonTGC_CnvTools.MuonTGC_CnvToolsConf import Muon__TGC_RawDataProviderToolMT
+    Muon__TGC_RawDataProviderToolMT=CompFactory.Muon__TGC_RawDataProviderToolMT
     MuonTgcRawDataProviderTool = Muon__TGC_RawDataProviderToolMT(name    = "TGC_RawDataProviderToolMT",
                                                                Decoder = TGCRodDecoder )
 
@@ -104,7 +105,7 @@ def TgcBytestreamDecodeCfg(flags, forTrigger=False):
     acc.addPublicTool( MuonTgcRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Setup the RAW data provider algorithm
-    from MuonByteStream.MuonByteStreamConf import Muon__TgcRawDataProvider
+    Muon__TgcRawDataProvider=CompFactory.Muon__TgcRawDataProvider
     TgcRawDataProvider = Muon__TgcRawDataProvider(name         = "TgcRawDataProvider",
                                                   ProviderTool = MuonTgcRawDataProviderTool )
     
@@ -128,16 +129,16 @@ def MdtBytestreamDecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags)) 
 
     # Setup the MDT ROD decoder
-    from MuonMDT_CnvTools.MuonMDT_CnvToolsConf import MdtROD_Decoder
+    MdtROD_Decoder=CompFactory.MdtROD_Decoder
     MDTRodDecoder = MdtROD_Decoder(name="MdtROD_Decoder")
 
     # RAW data provider tool needs ROB data provider service (should be another Config function?)
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc )
 
     # Setup the RAW data provider tool
-    from MuonMDT_CnvTools.MuonMDT_CnvToolsConf import Muon__MDT_RawDataProviderToolMT
+    Muon__MDT_RawDataProviderToolMT=CompFactory.Muon__MDT_RawDataProviderToolMT
     MuonMdtRawDataProviderTool = Muon__MDT_RawDataProviderToolMT(name    = "MDT_RawDataProviderToolMT",
                                                                  Decoder = MDTRodDecoder)
 
@@ -147,7 +148,7 @@ def MdtBytestreamDecodeCfg(flags, forTrigger=False):
     acc.addPublicTool( MuonMdtRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
 
     # Setup the RAW data provider algorithm
-    from MuonByteStream.MuonByteStreamConf import Muon__MdtRawDataProvider
+    Muon__MdtRawDataProvider=CompFactory.Muon__MdtRawDataProvider
     MdtRawDataProvider = Muon__MdtRawDataProvider(name         = "MdtRawDataProvider",
                                                   ProviderTool = MuonMdtRawDataProviderTool )
 
@@ -167,16 +168,16 @@ def CscBytestreamDecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags)) 
 
     # Setup the CSC ROD decoder
-    from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CscROD_Decoder
+    Muon__CscROD_Decoder=CompFactory.Muon__CscROD_Decoder
     CSCRodDecoder = Muon__CscROD_Decoder(name	     = "CscROD_Decoder" )
 
     # RAW data provider tool needs ROB data provider service (should be another Config function?)
-    from ByteStreamCnvSvcBase.ByteStreamCnvSvcBaseConf import ROBDataProviderSvc
+    ROBDataProviderSvc=CompFactory.ROBDataProviderSvc
     robDPSvc = ROBDataProviderSvc()
     acc.addService( robDPSvc )
 
     # Setup the RAW data provider tool
-    from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CSC_RawDataProviderToolMT
+    Muon__CSC_RawDataProviderToolMT=CompFactory.Muon__CSC_RawDataProviderToolMT
     MuonCscRawDataProviderTool = Muon__CSC_RawDataProviderToolMT(name    = "CSC_RawDataProviderToolMT",
                                                                Decoder = CSCRodDecoder)
     if forTrigger:
@@ -185,7 +186,7 @@ def CscBytestreamDecodeCfg(flags, forTrigger=False):
     acc.addPublicTool( MuonCscRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Setup the RAW data provider algorithm
-    from MuonByteStream.MuonByteStreamConf import Muon__CscRawDataProvider
+    Muon__CscRawDataProvider=CompFactory.Muon__CscRawDataProvider
     CscRawDataProvider = Muon__CscRawDataProvider(name         = "CscRawDataProvider",
                                                   ProviderTool = MuonCscRawDataProviderTool )
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
index 231cb6a7462ebf51263aee562c1bacf5ad5b7357..3a2b3a127d4f521cb0bfe28d3bf7bab640e06b73 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
@@ -4,6 +4,7 @@
 # TODO add MDTs, CSCs
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
 
 def RPCCablingConfigCfg(flags):
@@ -12,7 +13,7 @@ def RPCCablingConfigCfg(flags):
     # TODO check if we actually need this here?
     acc.merge(MuonGeoModelCfg(flags)) 
 
-    from MuonCablingServers.MuonCablingServersConf import RPCcablingServerSvc
+    RPCcablingServerSvc=CompFactory.RPCcablingServerSvc
     RPCCablingSvc =  RPCcablingServerSvc()
     RPCCablingSvc.Atlas = True
     RPCCablingSvc.forcedUse = True
@@ -20,7 +21,7 @@ def RPCCablingConfigCfg(flags):
     acc.addService( RPCCablingSvc )
 
     
-    from MuonRPC_Cabling.MuonRPC_CablingConf import MuonRPC_CablingSvc
+    MuonRPC_CablingSvc=CompFactory.MuonRPC_CablingSvc
     rpcCablingSvc = MuonRPC_CablingSvc()
     rpcCablingSvc.ConfFileName = 'LVL1confAtlas.data' # this should come from config flag maybe ???
     rpcCablingSvc.CorrFileName = 'LVL1confAtlas.corr' 
@@ -35,7 +36,7 @@ def RPCCablingConfigCfg(flags):
                            '/RPC/CABLING/MAP_SCHEMA', '/RPC/CABLING/MAP_SCHEMA_CORR' ],
                          dbName ))
 
-    from RPC_CondCabling.RPC_CondCablingConf import RPCCablingDbTool
+    RPCCablingDbTool=CompFactory.RPCCablingDbTool
     RPCCablingDbTool = RPCCablingDbTool()
     RPCCablingDbTool.MapConfigurationFolder = '/RPC/CABLING/MAP_SCHEMA'
     RPCCablingDbTool.MapCorrectionFolder    = '/RPC/CABLING/MAP_SCHEMA_CORR'
@@ -53,10 +54,10 @@ def TGCCablingConfigCfg(flags):
     # TODO check if we actually need this here?
     acc.merge(MuonGeoModelCfg(flags)) 
     
-    from TrigT1TGCRecRoiSvc.TrigT1TGCRecRoiSvcConf import LVL1TGC__TGCRecRoiSvc
+    LVL1TGC__TGCRecRoiSvc=CompFactory.LVL1TGC__TGCRecRoiSvc
     acc.addService( LVL1TGC__TGCRecRoiSvc() ) 
     
-    from MuonCablingServers.MuonCablingServersConf import TGCcablingServerSvc
+    TGCcablingServerSvc=CompFactory.TGCcablingServerSvc
     TGCCablingSvc = TGCcablingServerSvc() 
     TGCCablingSvc.Atlas=True
     TGCCablingSvc.useMuonTGC_CablingSvc=True
@@ -76,15 +77,15 @@ def MDTCablingConfigCfg(flags):
     
     acc.merge(MuonGeoModelCfg(flags)) 
 
-    from MuonMDT_Cabling.MuonMDT_CablingConf import MuonMDT_CablingAlg
+    MuonMDT_CablingAlg=CompFactory.MuonMDT_CablingAlg
     MDTCablingAlg = MuonMDT_CablingAlg("MuonMDT_CablingAlg")
 
-    from MuonMDT_Cabling.MuonMDT_CablingConf import MuonMDT_CablingSvc
+    MuonMDT_CablingSvc=CompFactory.MuonMDT_CablingSvc
     mdtCablingSvc = MuonMDT_CablingSvc()
     mdtCablingSvc.UseOldCabling = False
     mdtCablingSvc.ForcedUse = True
 
-    from MDT_CondCabling.MDT_CondCablingConf import MDTCablingDbTool
+    MDTCablingDbTool=CompFactory.MDTCablingDbTool
     MDTCablingDbTool = MDTCablingDbTool()
 
     from IOVDbSvc.IOVDbSvcConfig import addFolders
@@ -118,7 +119,7 @@ def CSCCablingConfigCfg(flags):
     
     acc.merge(MuonGeoModelCfg(flags)) 
 
-    from CSCcabling.CSCcablingConf import CSCcablingSvc
+    CSCcablingSvc=CompFactory.CSCcablingSvc
     cscCablingSvc = CSCcablingSvc()
 
     acc.addService( cscCablingSvc, primary=True )
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCalibConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCalibConfig.py
index 9bddf9baeab3d1a27b012b5768338c619e827bee..10b8e653b01593811179757a4652f5372386347a 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCalibConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCalibConfig.py
@@ -2,12 +2,13 @@
 
 # Based on : https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCalibConfig.py
 
-from MuonCondSvc.MuonCondSvcConf import MuonCalib__CscCoolStrSvc
-from MdtCalibDbCoolStrTool.MdtCalibDbCoolStrToolConf import MuonCalib__MdtCalibDbCoolStrTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+MuonCalib__CscCoolStrSvc=CompFactory.MuonCalib__CscCoolStrSvc
+MuonCalib__MdtCalibDbCoolStrTool=CompFactory.MuonCalib__MdtCalibDbCoolStrTool
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from IOVDbSvc.IOVDbSvcConfig import addFolders, addFoldersSplitOnline
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
-from CscCalibTools.CscCalibToolsConf import CscCalibTool
+CscCalibTool=CompFactory.CscCalibTool
 
 from AthenaCommon.Logging import logging
 log = logging.getLogger('MuonCalibConfig')
@@ -475,7 +476,7 @@ def MdtCalibDbAlgCfg(flags,name="MdtCalibDbAlg",**kwargs):
     kwargs.setdefault("CreateWireSagFunctions", flags.Muon.Calib.correctMdtRtWireSag)
     kwargs.setdefault("CreateSlewingFunctions", flags.Muon.Calib.correctMdtRtForTimeSlewing)
 
-    from MdtCalibDbCoolStrTool.MdtCalibDbCoolStrToolConf import MdtCalibDbAlg
+    MdtCalibDbAlg=CompFactory.MdtCalibDbAlg
     alg = MdtCalibDbAlg (name, **kwargs)
 
     result.addCondAlgo (alg)
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCondAlgConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCondAlgConfig.py
index b9a305c4ad1232b5db3972de63de51ed449db28a..a1240cfd012f51283a2d812ad9b9259026918575 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCondAlgConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCondAlgConfig.py
@@ -3,7 +3,8 @@
 ## Configuration Access to OFFLINE DB (COMP200)
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from MuonCondAlg.MuonCondAlgConf import MdtCondDbAlg,RpcCondDbAlg,CscCondDbAlg ##,TgcCondDbAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+MdtCondDbAlg,RpcCondDbAlg,CscCondDbAlg =CompFactory.getComps("MdtCondDbAlg","RpcCondDbAlg","CscCondDbAlg")
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 
 def MdtCondDbAlgCfg(flags, **kwargs):
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCondSvcConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCondSvcConfig.py
index 20f4a15d7c02066f2fc1c94bd7bec0aef41632a3..b60a3bf9bf802bed35d374170dc656045c85d188 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCondSvcConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCondSvcConfig.py
@@ -7,9 +7,14 @@
 # FIXME - in general my impression is that this is overly complicated and needs a huge clean up (the code, not just the configuration)
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from MuonCondSvc.MuonCondSvcConf import MDTCondSummarySvc, RPCCondSummarySvc, CSCCondSummarySvc, \
-    TGCCondSummarySvc, MDT_DCSConditionsRun2Svc, MDT_DCSConditionsSvc
-from MuonCondTool.MuonCondToolConf import MDT_DCSConditionsTool, MDT_DCSConditionsRun2Tool, MDT_MapConversion
+from AthenaConfiguration.ComponentFactory import CompFactory
+
+MDTCondSummarySvc, RPCCondSummarySvc, CSCCondSummarySvc, TGCCondSummarySvc, MDT_DCSConditionsRun2Svc, MDT_DCSConditionsSvc =\
+CompFactory.getComps("MDTCondSummarySvc", "RPCCondSummarySvc", "CSCCondSummarySvc", "TGCCondSummarySvc","MDT_DCSConditionsRun2Svc","MDT_DCSConditionsSvc")
+
+MDT_DCSConditionsTool, MDT_DCSConditionsRun2Tool, MDT_MapConversion=\
+CompFactory.getComps("MDT_DCSConditionsTool","MDT_DCSConditionsRun2Tool","MDT_MapConversion")
+
 from IOVDbSvc.IOVDbSvcConfig import IOVDbSvcCfg, addFolders
 
 # def MDT_DCSConditionsSvcCfg(flags, **kwargs):
diff --git a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
index 6851b99675dec98d0d8914faad91ac087fc716fa..1cc99ee19dd366334dd81d2d643581ba3dd883f6 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
-from MuonGeoModel.MuonGeoModelConf import MuonDetectorTool
-from MuonIdHelpers.MuonIdHelpersConf import Muon__MuonIdHelperSvc
-from AGDD2GeoSvc.AGDD2GeoSvcConf import AGDDtoGeoSvc
-from MuonAGDD.MuonAGDDConf import MuonAGDDTool, NSWAGDDTool
+MuonDetectorTool=CompFactory.MuonDetectorTool
+Muon__MuonIdHelperSvc=CompFactory.Muon__MuonIdHelperSvc
+AGDDtoGeoSvc=CompFactory.AGDDtoGeoSvc
+MuonAGDDTool, NSWAGDDTool=CompFactory.getComps("MuonAGDDTool","NSWAGDDTool",)
 
 def MuonGeoModelCfg(flags):
     acc = ComponentAccumulator()
@@ -27,7 +28,7 @@ def MuonGeoModelCfg(flags):
         # This is all migrated from MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonAlignConfig.py
 
         from IOVDbSvc.IOVDbSvcConfig import addFolders
-        from MuonCondAlg.MuonCondAlgConf import MuonAlignmentCondAlg
+        MuonAlignmentCondAlg=CompFactory.MuonAlignmentCondAlg
         if (flags.Common.isOnline and not flags.Input.isMC):                
             acc.merge(addFolders( flags, ['/MUONALIGN/Onl/MDT/BARREL'], 'MUONALIGN', className='CondAttrListCollection'))
             acc.merge(addFolders( flags, ['/MUONALIGN/Onl/MDT/ENDCAP/SIDEA'], 'MUONALIGN', className='CondAttrListCollection'))
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRIO_OnTrackCreatorConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRIO_OnTrackCreatorConfig.py
index dedaed37de8e9d1eec84dbea324041ea09bbb098..25a58d6bf827f20e2980221d731873ccac049eff 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRIO_OnTrackCreatorConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRIO_OnTrackCreatorConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MuonConfig.MuonCalibConfig import MdtCalibrationToolCfg, MdtCalibrationDbToolCfg
 from MuonCnvExample.MuonCnvUtils import mdtCalibWindowNumber # TODO should maybe shift this elsewhere?
-from MdtDriftCircleOnTrackCreator.MdtDriftCircleOnTrackCreatorConf import Muon__MdtDriftCircleOnTrackCreator
-from MuonClusterOnTrackCreator.MuonClusterOnTrackCreatorConf import Muon__CscClusterOnTrackCreator, Muon__MuonClusterOnTrackCreator
-from TrkRIO_OnTrackCreator.TrkRIO_OnTrackCreatorConf import Trk__RIO_OnTrackCreator
-from MuonCompetingClustersOnTrackCreator.MuonCompetingClustersOnTrackCreatorConf import Muon__TriggerChamberClusterOnTrackCreator
+Muon__MdtDriftCircleOnTrackCreator=CompFactory.Muon__MdtDriftCircleOnTrackCreator
+Muon__CscClusterOnTrackCreator, Muon__MuonClusterOnTrackCreator=CompFactory.getComps("Muon__CscClusterOnTrackCreator","Muon__MuonClusterOnTrackCreator",)
+Trk__RIO_OnTrackCreator=CompFactory.Trk__RIO_OnTrackCreator
+Muon__TriggerChamberClusterOnTrackCreator=CompFactory.Muon__TriggerChamberClusterOnTrackCreator
 
 def TriggerChamberClusterOnTrackCreatorCfg(flags, name="TriggerChamberClusterOnTrackCreator", **kwargs):
     result=ComponentAccumulator()
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
index d49471cb3acdbb2b4f6dce9fde11b4c26f05a1e9..c96dd5743c3aa6ac561071a80147c33fd30f4c18 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
@@ -1,6 +1,7 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.Constants import DEBUG, INFO
 
 ## Small class to hold the names for cache containers, should help to avoid copy / paste errors
@@ -19,7 +20,7 @@ class MuonPrdCacheNames(object):
 def MuonPrdCacheCfg():
     acc = ComponentAccumulator()
 
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import MuonPRDCacheCreator
+    MuonPRDCacheCreator=CompFactory.MuonPRDCacheCreator
     cacheCreator = MuonPRDCacheCreator(MdtCacheKey  = MuonPrdCacheNames.MdtCache,
                                        CscCacheKey  = MuonPrdCacheNames.CscCache,
                                        RpcCacheKey  = MuonPrdCacheNames.RpcCache,
@@ -47,14 +48,14 @@ def RpcRDODecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags))
 
     # Get the RDO -> PRD tool
-    from MuonRPC_CnvTools.MuonRPC_CnvToolsConf import Muon__RpcRdoToPrepDataToolMT
+    Muon__RpcRdoToPrepDataToolMT=CompFactory.Muon__RpcRdoToPrepDataToolMT
     RpcRdoToRpcPrepDataTool = Muon__RpcRdoToPrepDataToolMT(name = "RpcRdoToRpcPrepDataTool")
     if flags.Common.isOnline: 
         RpcRdoToRpcPrepDataTool.ReadKey = "" ## cond data not needed online
     acc.addPublicTool( RpcRdoToRpcPrepDataTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Get the RDO -> PRD alorithm
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import RpcRdoToRpcPrepData
+    RpcRdoToRpcPrepData=CompFactory.RpcRdoToRpcPrepData
     RpcRdoToRpcPrepData = RpcRdoToRpcPrepData(name          = "RpcRdoToRpcPrepData",
                                               DecodingTool  = RpcRdoToRpcPrepDataTool,
                                               PrintPrepData = False )
@@ -81,12 +82,12 @@ def TgcRDODecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags))
 
     # Get the RDO -> PRD tool
-    from MuonTGC_CnvTools.MuonTGC_CnvToolsConf import Muon__TgcRdoToPrepDataToolMT
+    Muon__TgcRdoToPrepDataToolMT=CompFactory.Muon__TgcRdoToPrepDataToolMT
     TgcRdoToTgcPrepDataTool = Muon__TgcRdoToPrepDataToolMT(name           = "TgcRdoToTgcPrepDataTool")
     acc.addPublicTool( TgcRdoToTgcPrepDataTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Get the RDO -> PRD alorithm
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import TgcRdoToTgcPrepData
+    TgcRdoToTgcPrepData=CompFactory.TgcRdoToTgcPrepData
     TgcRdoToTgcPrepData = TgcRdoToTgcPrepData(name          = "TgcRdoToTgcPrepData",
                                               DecodingTool  = TgcRdoToTgcPrepDataTool,
                                               PrintPrepData = False )
@@ -115,12 +116,12 @@ def MdtRDODecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags))
 
     # Get the RDO -> PRD tool
-    from MuonMDT_CnvTools.MuonMDT_CnvToolsConf import Muon__MdtRdoToPrepDataToolMT
+    Muon__MdtRdoToPrepDataToolMT=CompFactory.Muon__MdtRdoToPrepDataToolMT
     MdtRdoToMdtPrepDataTool = Muon__MdtRdoToPrepDataToolMT(name = "MdtRdoToMdtPrepDataTool")
     acc.addPublicTool( MdtRdoToMdtPrepDataTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Get the RDO -> PRD alorithm
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import MdtRdoToMdtPrepData
+    MdtRdoToMdtPrepData=CompFactory.MdtRdoToMdtPrepData
     MdtRdoToMdtPrepData = MdtRdoToMdtPrepData(name          = "MdtRdoToMdtPrepData",
                                               DecodingTool  = MdtRdoToMdtPrepDataTool,
                                               PrintPrepData = False )
@@ -149,12 +150,12 @@ def CscRDODecodeCfg(flags, forTrigger=False):
     acc.merge(MuonGeoModelCfg(flags))
 
     # Get the RDO -> PRD tool
-    from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CscRdoToCscPrepDataToolMT
+    Muon__CscRdoToCscPrepDataToolMT=CompFactory.Muon__CscRdoToCscPrepDataToolMT
     CscRdoToCscPrepDataTool = Muon__CscRdoToCscPrepDataToolMT(name           = "CscRdoToCscPrepDataTool")
     acc.addPublicTool( CscRdoToCscPrepDataTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Get the RDO -> PRD alorithm
-    from MuonRdoToPrepData.MuonRdoToPrepDataConf import CscRdoToCscPrepData
+    CscRdoToCscPrepData=CompFactory.CscRdoToCscPrepData
     CscRdoToCscPrepData = CscRdoToCscPrepData(name                    = "CscRdoToCscPrepData",
                                               CscRdoToCscPrepDataTool = CscRdoToCscPrepDataTool,
                                               PrintPrepData           = False )
@@ -172,12 +173,12 @@ def CscClusterBuildCfg(flags, forTrigger=False):
     acc = ComponentAccumulator()
 
     # Get cluster creator tool
-    from CscClusterization.CscClusterizationConf import CscThresholdClusterBuilderTool
+    CscThresholdClusterBuilderTool=CompFactory.CscThresholdClusterBuilderTool
     CscClusterBuilderTool = CscThresholdClusterBuilderTool(name = "CscThresholdClusterBuilderTool" )
     acc.addPublicTool( CscClusterBuilderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
   
     #CSC cluster building
-    from CscClusterization.CscClusterizationConf import CscThresholdClusterBuilder
+    CscThresholdClusterBuilder=CompFactory.CscThresholdClusterBuilder
     CscClusterBuilder = CscThresholdClusterBuilder(name            = "CscThresholdClusterBuilder",
                                                    cluster_builder = CscClusterBuilderTool )
     acc.addEventAlgo(CscClusterBuilder)
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py
index 66dbb4a853de80caf987125b2f70b433814d679a..ee683864e97aabc0ceb9e6cec30e8ee339639f55 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRecToolsConfig.py
@@ -3,12 +3,13 @@
 # Configuration of tools shared between Segment Finding and Track Building
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # Tracking
 from TrkDetDescrSvc.AtlasTrackingGeometrySvcConfig import TrackingGeometrySvcCfg
 
 def MuonTrackToSegmentToolCfg(flags,name="MuonTrackToSegmentTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonTrackToSegmentTool
+    Muon__MuonTrackToSegmentTool=CompFactory.Muon__MuonTrackToSegmentTool
     #MDT conditions information not available online
     if(flags.Common.isOnline):
         kwargs.setdefault("MdtCondKey","")
@@ -18,7 +19,8 @@ def MuonTrackToSegmentToolCfg(flags,name="MuonTrackToSegmentTool", **kwargs):
     kwargs.setdefault("MuonStationIntersectSvc",msis)
     
     # FIXME - this should have a CA
-    from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as RkPropagator
+    RkPropagator=CompFactory.Trk__RungeKuttaPropagator
+    
     atlasRungeKuttaPropagator = RkPropagator(name = 'AtlasRungeKuttaPropagator')
     result.addPublicTool(atlasRungeKuttaPropagator)
     kwargs.setdefault("Propagator",atlasRungeKuttaPropagator)
@@ -30,7 +32,7 @@ def MuonTrackToSegmentToolCfg(flags,name="MuonTrackToSegmentTool", **kwargs):
 
 
 def MuonSeededSegmentFinderCfg(flags,name="MuonSeededSegmentFinder", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonSeededSegmentFinder
+    Muon__MuonSeededSegmentFinder=CompFactory.Muon__MuonSeededSegmentFinder
     from MuonConfig.MuonSegmentFindingConfig import DCMathSegmentMakerCfg, MdtMathSegmentFinder # FIXME - should really shift this to RecTools then.
     result = ComponentAccumulator()
     
@@ -64,7 +66,7 @@ def MuonSeededSegmentFinderCfg(flags,name="MuonSeededSegmentFinder", **kwargs):
         
         
 def MuonSegmentMomentumFromFieldCfg(flags, name="MuonSegmentMomentumFromField", **kwargs):
-    from MuonSegmentMomentum.MuonSegmentMomentumConf import MuonSegmentMomentumFromField
+    MuonSegmentMomentumFromField=CompFactory.MuonSegmentMomentumFromField
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
     
     result = ComponentAccumulator()
@@ -111,12 +113,12 @@ def MuonTrackSummaryHelperToolCfg(flags, name="MuonTrackSummaryHelperTool", **kw
 
     kwargs.setdefault("CalculateCloseHits", True)
 
-    from MuonTrackSummaryHelperTool.MuonTrackSummaryHelperToolConf import Muon__MuonTrackSummaryHelperTool
+    Muon__MuonTrackSummaryHelperTool=CompFactory.Muon__MuonTrackSummaryHelperTool
     result.setPrivateTools(Muon__MuonTrackSummaryHelperTool(name=name,**kwargs))
     return result
 
 def MuonTrackSummaryToolCfg(flags, name="MuonTrackSummaryTool", **kwargs):
-    from TrkTrackSummaryTool.TrkTrackSummaryToolConf import Trk__TrackSummaryTool
+    Trk__TrackSummaryTool=CompFactory.Trk__TrackSummaryTool
     
     result = ComponentAccumulator()
     acc = MuonTrackSummaryHelperToolCfg(flags)
@@ -130,7 +132,7 @@ def MuonTrackSummaryToolCfg(flags, name="MuonTrackSummaryTool", **kwargs):
     return result
 
 def MuonTrackScoringToolCfg(flags, name="MuonTrackScoringTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonTrackScoringTool
+    Muon__MuonTrackScoringTool=CompFactory.Muon__MuonTrackScoringTool
     
     # m_trkSummaryTool("Trk::TrackSummaryTool"),    
     # m_printer("Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"),
@@ -144,8 +146,8 @@ def MuonTrackScoringToolCfg(flags, name="MuonTrackScoringTool", **kwargs):
     return result
 
 def MuonAmbiProcessorCfg(flags, name="MuonAmbiProcessor", **kwargs):
-    from TrkAmbiguityProcessor.TrkAmbiguityProcessorConf import Trk__TrackSelectionProcessorTool
-    from MuonAmbiTrackSelectionTool.MuonAmbiTrackSelectionToolConf import Muon__MuonAmbiTrackSelectionTool
+    Trk__TrackSelectionProcessorTool=CompFactory.Trk__TrackSelectionProcessorTool
+    Muon__MuonAmbiTrackSelectionTool=CompFactory.Muon__MuonAmbiTrackSelectionTool
     
     #m_scoringTool("Trk::TrackScoringTool/TrackScoringTool"), 
     #m_selectionTool("InDet::InDetAmbiTrackSelectionTool/InDetAmbiTrackSelectionTool")
@@ -163,7 +165,7 @@ def MuonAmbiProcessorCfg(flags, name="MuonAmbiProcessor", **kwargs):
     return result
 
 def MuonTrackCleanerCfg(flags, name="MuonTrackCleaner", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonTrackCleaner
+    Muon__MuonTrackCleaner=CompFactory.Muon__MuonTrackCleaner
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
     # declareProperty("IdHelper",m_idHelper);
     # declareProperty("Helper",m_edmHelperSvc);
@@ -215,7 +217,7 @@ def MuonTrackCleanerCfg(flags, name="MuonTrackCleaner", **kwargs):
     return result 
 
 def MuonStationIntersectSvcCfg(flags, name='MuonStationIntersectSvc',**kwargs):
-    from MuonStationIntersectSvc.MuonStationIntersectSvcConf import MuonStationIntersectSvc
+    MuonStationIntersectSvc=CompFactory.MuonStationIntersectSvc
     # Has dependency IdHelperTool (which we ignore for now)
     result = ComponentAccumulator()
     muon_station_intersect_svc = MuonStationIntersectSvc(name=name, **kwargs)
@@ -224,7 +226,7 @@ def MuonStationIntersectSvcCfg(flags, name='MuonStationIntersectSvc',**kwargs):
 
 # default muon navigator
 def MuonNavigatorCfg(flags, name="MuonNavigator", **kwargs):
-    from TrkExTools.TrkExToolsConf import Trk__Navigator
+    Trk__Navigator=CompFactory.Trk__Navigator
     
     result = ComponentAccumulator()
 
@@ -237,9 +239,9 @@ def MuonNavigatorCfg(flags, name="MuonNavigator", **kwargs):
     return result     
 
 def MuonExtrapolatorCfg(flags,name = "MuonExtrapolator", **kwargs):
-    from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator, Trk__EnergyLossUpdator, Trk__MultipleScatteringUpdator
+    Trk__MaterialEffectsUpdator, Trk__EnergyLossUpdator, Trk__MultipleScatteringUpdator=CompFactory.getComps("Trk__MaterialEffectsUpdator","Trk__EnergyLossUpdator","Trk__MultipleScatteringUpdator",)
     
-    from TrkExTools.TrkExToolsConf import Trk__Extrapolator 
+    Trk__Extrapolator, =CompFactory.getComps("Trk__Extrapolator",)
     result = ComponentAccumulator()
     
     energy_loss_updator = Trk__EnergyLossUpdator() # Not really sure these should be tools...
@@ -273,8 +275,8 @@ def MuonExtrapolatorCfg(flags,name = "MuonExtrapolator", **kwargs):
     return result
 
 def MuonChi2TrackFitterCfg(flags, name='MuonChi2TrackFitter', **kwargs):
-    from TrkMeasurementUpdator.TrkMeasurementUpdatorConf import Trk__KalmanUpdator
-    from TrkGlobalChi2Fitter.TrkGlobalChi2FitterConf import Trk__GlobalChi2Fitter
+    Trk__KalmanUpdator=CompFactory.Trk__KalmanUpdator
+    Trk__GlobalChi2Fitter=CompFactory.Trk__GlobalChi2Fitter
     import MuonConfig.MuonRIO_OnTrackCreatorConfig # Trying to avoid circular dependencies here
     
     result = ComponentAccumulator()
@@ -311,7 +313,7 @@ def MuonChi2TrackFitterCfg(flags, name='MuonChi2TrackFitter', **kwargs):
 def MuonSTEP_PropagatorCfg(flags, name='MuonSTEP_Propagator', **kwargs):
     # Really there should be a central configuration for the STEP propagator. FIXME
     # In the old ConfigDb this was named MuonStraightLinePropagator (!)
-    from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator
+    Trk__STEP_Propagator=CompFactory.Trk__STEP_Propagator
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
     result = ComponentAccumulator()
     
@@ -369,7 +371,7 @@ def MCTBFitterCfg(flags, name='MCTBFitter', **kwargs):
     return result
 
 def MuonPhiHitSelector(flags, name="MuonPhiHitSelector",**kwargs):
-    from MuonSegmentCleaner.MuonSegmentCleanerConf import MuonPhiHitSelector
+    MuonPhiHitSelector=CompFactory.MuonPhiHitSelector
     kwargs.setdefault("MakeClusters", True)
     kwargs.setdefault("CompetingRios", True)
     kwargs.setdefault("DoCosmics", flags.Beam.Type == 'cosmics')
@@ -378,7 +380,7 @@ def MuonPhiHitSelector(flags, name="MuonPhiHitSelector",**kwargs):
 
 
 def MuPatHitToolCfg(flags, name="MuPatHitTool",**kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MuPatHitTool
+    Muon__MuPatHitTool=CompFactory.Muon__MuPatHitTool
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import CscClusterOnTrackCreatorCfg,MdtDriftCircleOnTrackCreatorCfg
     
     result = MdtDriftCircleOnTrackCreatorCfg(flags)
diff --git a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
index 9d07b7137fa16eba1f809c9e8041dcc7805c92d0..09f8a6f4633391d6937868dc2cbf4bc611599f44 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
@@ -2,6 +2,7 @@
 
 # Core configuration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # Local
 from MuonConfig.MuonSegmentFindingConfig import MuonSegmentFindingCfg
@@ -42,7 +43,7 @@ if __name__=="__main__":
     cfg=ComponentAccumulator()
 
     # This is a temporary fix! Should be private!
-    from MuonRecHelperTools.MuonRecHelperToolsConf import Muon__MuonEDMHelperSvc
+    Muon__MuonEDMHelperSvc=CompFactory.Muon__MuonEDMHelperSvc
     muon_edm_helper_svc = Muon__MuonEDMHelperSvc("MuonEDMHelperSvc")
     cfg.addService( muon_edm_helper_svc )
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
index a7a0866a5bcebec3f55a5e0a222fb020cce123d7..8bd8a88ba6ef220671400c6146a1cac18fa3fb82 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
@@ -6,6 +6,7 @@
 # https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonRecTools.py
 # https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py
 # from https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/CscTools.py
+from AthenaConfiguration.ComponentFactory import CompFactory
 #
 # and algorithms which are defined in several places:
 # 
@@ -17,10 +18,10 @@
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Muon
-# from CscSegmentMakers.CscSegmentMakersConf import Csc2dSegmentMaker, Csc4dSegmentMaker
-from DCMathSegmentMaker.DCMathSegmentMakerConf import Muon__DCMathSegmentMaker, Muon__MdtMathSegmentFinder, Muon__MuonSegmentFittingTool, Muon__MuonClusterSegmentFinderTool
-from MuonSegmentSelectionTools.MuonSegmentSelectionToolsConf import Muon__MuonSegmentSelectionTool
-from MuonClusterSegmentMakerTools.MuonClusterSegmentMakerToolsConf import Muon__MuonClusterSegmentFinder
+# Csc2dSegmentMaker, Csc4dSegmentMaker=CompFactory.getComps("Csc2dSegmentMaker","Csc4dSegmentMaker",)
+Muon__DCMathSegmentMaker, Muon__MdtMathSegmentFinder, Muon__MuonSegmentFittingTool, Muon__MuonClusterSegmentFinderTool=CompFactory.getComps("Muon__DCMathSegmentMaker","Muon__MdtMathSegmentFinder","Muon__MuonSegmentFittingTool","Muon__MuonClusterSegmentFinderTool",)
+Muon__MuonSegmentSelectionTool=CompFactory.Muon__MuonSegmentSelectionTool
+Muon__MuonClusterSegmentFinder=CompFactory.Muon__MuonClusterSegmentFinder
 from MuonCnvExample.MuonCnvUtils import mdtCalibWindowNumber # TODO - should maybe move this somewhere else?
 
 #Local
@@ -30,7 +31,7 @@ from MuonConfig.MuonRecToolsConfig import MCTBFitterCfg, MuonAmbiProcessorCfg, M
 def MuonHoughPatternFinderTool(flags, **kwargs):
     # Taken from https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonRecTools.py#L173     from MuonHoughPatternTools/MuonHoughPatternToolsConf import Muon__MuonHoughPatternFinderTool
 
-    from MuonHoughPatternTools.MuonHoughPatternToolsConf import Muon__MuonHoughPatternFinderTool
+    Muon__MuonHoughPatternFinderTool=CompFactory.Muon__MuonHoughPatternFinderTool
     
     # TODO
     # getPublicTool("MuonCombinePatternTool")
@@ -44,7 +45,7 @@ def MuonCurvedSegmentCombiner(flags, **kwargs):
     # Taken from https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L74
     # The original code seems very odd. The default MissedHitsCut is 100 by default, and the rest of it is a bit tortuous.
     # I've tried to clean it up, but might have made mistakes. 
-    from MuonCurvedSegmentCombiner.MuonCurvedSegmentCombinerConf import Muon__MuonCurvedSegmentCombiner 
+    Muon__MuonCurvedSegmentCombiner =CompFactory.Muon__MuonCurvedSegmentCombiner
     if flags.Beam.Type!= 'collisions' :
         kwargs.setdefault( "AddUnassociatedMiddleEndcapSegments", False )
     elif flags.Input.isMC:
@@ -73,7 +74,7 @@ def AdjustableT0Tool(flags,**kwargs):
     else: # collisions simulation final precise cuts
         kwargs.setdefault("DoTof", 1)
         
-    from MdtDriftCircleOnTrackCreator.MdtDriftCircleOnTrackCreatorConf import AdjT0__AdjustableT0Tool
+    AdjT0__AdjustableT0Tool=CompFactory.AdjT0__AdjustableT0Tool
     return AdjT0__AdjustableT0Tool(**kwargs)
 
 def MdtMathSegmentFinder(flags,name="MdtMathSegmentFinder", **kwargs):
@@ -133,7 +134,7 @@ def MuonSegmentFittingToolCfg(flags, **kwargs):
     return result
 
 def DCMathSegmentMakerCfg(flags, **kwargs):    
-    from MdtSegmentT0Fitter.MdtSegmentT0FitterConf import TrkDriftCircleMath__MdtSegmentT0Fitter
+    TrkDriftCircleMath__MdtSegmentT0Fitter=CompFactory.TrkDriftCircleMath__MdtSegmentT0Fitter
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
     from MuonConfig.MuonCondAlgConfig import MdtCondDbAlgCfg
      
@@ -250,7 +251,7 @@ def DCMathSegmentMakerCfg(flags, **kwargs):
 
 
 def MuonPatternSegmentMakerCfg(flags, **kwargs):
-    from MuonPatternSegmentMaker.MuonPatternSegmentMakerConf import Muon__MuonPatternSegmentMaker
+    Muon__MuonPatternSegmentMaker=CompFactory.Muon__MuonPatternSegmentMaker
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg
     # Taken from https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L49
     
@@ -297,7 +298,7 @@ def MuonPatternSegmentMakerCfg(flags, **kwargs):
     
 def CscAlignmentTool(flags, **kwargs):
 
-    from CscClusterization.CscClusterizationConf import CscAlignmentTool
+    CscAlignmentTool=CompFactory.CscAlignmentTool
     etaposAlignConsts = [ # 1st, 2nd, 3rd, 4th layer 
         0.0,   -0.0902347,   -0.0984321,    -0.141175, #sector -16
         0.0,    -0.166412,    -0.150399,     -0.18592, #sector -15
@@ -376,7 +377,7 @@ def CscAlignmentTool(flags, **kwargs):
 
 def QratCscClusterFitterCfg(flags, **kwargs):
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/CscTools.py#L151
-    from CscClusterization.CscClusterizationConf import QratCscClusterFitter
+    QratCscClusterFitter=CompFactory.QratCscClusterFitter
     result=ComponentAccumulator()
     qratcor_css_eta = [
         0.000000, 0.000000, 0.000000, 0.000000, 0.0699381, 0.178291, 0.271303, 0.345611, 
@@ -406,7 +407,7 @@ def QratCscClusterFitterCfg(flags, **kwargs):
     return result
 
 def CalibCscStripFitterCfg(flags, name = "CalibCscStripFitter",**kwargs):
-    from CscClusterization.CscClusterizationConf import CalibCscStripFitter
+    CalibCscStripFitter=CompFactory.CalibCscStripFitter
     from MuonConfig.MuonCalibConfig import CscCalibToolCfg
     result = CscCalibToolCfg(flags)
     kwargs.setdefault("cscCalibTool", result.popPrivateTools() )
@@ -414,7 +415,7 @@ def CalibCscStripFitterCfg(flags, name = "CalibCscStripFitter",**kwargs):
     return result
 
 def CscClusterUtilToolCfg(flags, name='CscClusterUtilTool', **kwargs):
-    from CscClusterization.CscClusterizationConf import CscClusterUtilTool
+    CscClusterUtilTool=CompFactory.CscClusterUtilTool
     
     result = CalibCscStripFitterCfg(flags)
     kwargs.setdefault("strip_fitter", result.popPrivateTools() )
@@ -426,7 +427,7 @@ def CscClusterUtilToolCfg(flags, name='CscClusterUtilTool', **kwargs):
     return result
 
 def CscSegmentUtilToolCfg(flags, name='CscSegmentUtilTool', **kwargs):
-    from CscSegmentMakers.CscSegmentMakersConf import CscSegmentUtilTool
+    CscSegmentUtilTool=CompFactory.CscSegmentUtilTool
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import CscClusterOnTrackCreatorCfg
     from MuonConfig.MuonCalibConfig import CscCoolStrSvcCfg
     
@@ -442,7 +443,7 @@ def CscSegmentUtilToolCfg(flags, name='CscSegmentUtilTool', **kwargs):
     return result
 
 def Csc2dSegmentMakerCfg(flags, name= "Csc2dSegmentMaker", **kwargs):
-    from CscSegmentMakers.CscSegmentMakersConf import Csc2dSegmentMaker
+    Csc2dSegmentMaker=CompFactory.Csc2dSegmentMaker
     result=ComponentAccumulator()
     if 'segmentTool' not in kwargs:
         acc  = CscSegmentUtilToolCfg(flags)
@@ -457,7 +458,7 @@ def Csc2dSegmentMakerCfg(flags, name= "Csc2dSegmentMaker", **kwargs):
     return result
 
 def Csc4dSegmentMakerCfg(flags, name= "Csc4dSegmentMaker", **kwargs):
-    from CscSegmentMakers.CscSegmentMakersConf import Csc4dSegmentMaker
+    Csc4dSegmentMaker=CompFactory.Csc4dSegmentMaker
     
     result=ComponentAccumulator()
     acc= CscSegmentUtilToolCfg(flags)
@@ -474,9 +475,9 @@ def Csc4dSegmentMakerCfg(flags, name= "Csc4dSegmentMaker", **kwargs):
 def MooSegmentFinderCfg(flags, name='MooSegmentFinder', **kwargs):
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L99 
     
-    from MuonHoughPatternTools.MuonHoughPatternToolsConf import Muon__MuonLayerHoughTool
-    from MuonSegmentOverlapRemovalTools.MuonSegmentOverlapRemovalToolsConf import Muon__MuonSegmentCombinationCleanerTool
-    from MooSegmentCombinationFinder.MooSegmentCombinationFinderConf import Muon__MooSegmentCombinationFinder
+    Muon__MuonLayerHoughTool=CompFactory.Muon__MuonLayerHoughTool
+    Muon__MuonSegmentCombinationCleanerTool=CompFactory.Muon__MuonSegmentCombinationCleanerTool
+    Muon__MooSegmentCombinationFinder=CompFactory.Muon__MooSegmentCombinationFinder
 
     result=ComponentAccumulator()
 
@@ -607,7 +608,7 @@ def MuonClusterSegmentFinderCfg(flags, **kwargs):
 
 def MooSegmentFinderAlgCfg(flags, name = "MuonSegmentMaker",  **kwargs):
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/master/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py#L113
-    from MooSegmentCombinationFinder.MooSegmentCombinationFinderConf import MooSegmentFinderAlg
+    MooSegmentFinderAlg=CompFactory.MooSegmentFinderAlg
     result=ComponentAccumulator()
     
     if 'SegmentFinder' not in kwargs:
@@ -694,7 +695,7 @@ def MuonSegmentFindingCfg(flags, cardinality=1):
     from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg 
     result.merge( MuonGeoModelCfg(flags) )
 
-    from MuonRecHelperTools.MuonRecHelperToolsConf import Muon__MuonEDMHelperSvc
+    Muon__MuonEDMHelperSvc=CompFactory.Muon__MuonEDMHelperSvc
     muon_edm_helper_svc = Muon__MuonEDMHelperSvc("MuonEDMHelperSvc")
     result.addService( muon_edm_helper_svc )
 
@@ -774,14 +775,14 @@ if __name__=="__main__":
     if args.threads>1 and args.forceclone:
         log.info('Forcing segment finding cardinality to be equal to '+str(args.threads))
         # We want to force the algorithms to run in parallel (eventually the algorithm will be marked as cloneable in the source code)
-        from GaudiHive.GaudiHiveConf import AlgResourcePool
+        AlgResourcePool=CompFactory.AlgResourcePool
         cfg.addService(AlgResourcePool( OverrideUnClonable=True ) )
         segment_finder = acc.getPrimary()
         segment_finder.Cardinality=args.threads
 
     # This is a temporary fix - it should go someplace central as it replaces the functionality of addInputRename from here:
     # https://gitlab.cern.ch/atlas/athena/blob/master/Control/SGComps/python/AddressRemappingSvc.py
-    from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+    AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
     pps = ProxyProviderSvc()
     ars=AddressRemappingSvc()
     pps.ProviderNames += [ 'AddressRemappingSvc' ]
diff --git a/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
index 8d528bdabfe575fd6862ff1bd4c64980658696a0..dd80a139214250b13614b198a7ff35dfe3b39752 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
@@ -1,14 +1,15 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MuonConfig.MuonRecToolsConfig import MCTBFitterCfg, MuonSTEP_PropagatorCfg, MuonTrackCleanerCfg, MuonSegmentMomentumFromFieldCfg, MuonSeededSegmentFinderCfg
 from MuonConfig.MuonSegmentFindingConfig import MuonSegmentFittingToolCfg 
 
 def MooTrackFitterCfg(flags, name = 'MooTrackFitter', **kwargs):
     # Based on https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L179
     # (Tons of explicit configuration missing from there though)
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MooTrackFitter
-    from MuonSegmentMomentum.MuonSegmentMomentumConf import MuonSegmentMomentum
+    Muon__MooTrackFitter=CompFactory.Muon__MooTrackFitter
+    MuonSegmentMomentum=CompFactory.MuonSegmentMomentum
     from MuonConfig.MuonRecToolsConfig import MuonPhiHitSelector, MuonTrackToSegmentToolCfg, MuonTrackSummaryHelperToolCfg, MuPatHitToolCfg
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg
     
@@ -80,8 +81,8 @@ def MooTrackFitterCfg(flags, name = 'MooTrackFitter', **kwargs):
     return result
 
 def MooTrackBuilderCfg(flags, name="MooTrackBuilderTemplate", **kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MooTrackBuilder
-    from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator
+    Muon__MooTrackBuilder=CompFactory.Muon__MooTrackBuilder
+    Trk__STEP_Propagator=CompFactory.Trk__STEP_Propagator
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
     from MuonConfig.MuonRecToolsConfig import MuonTrackToSegmentToolCfg
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
@@ -172,7 +173,7 @@ def MooTrackBuilderCfg(flags, name="MooTrackBuilderTemplate", **kwargs):
 # Taken from https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L268
 # Not bothering with MuonSegmentMatchingToolTight - just pass in TightSegmentMatching=True
 def MuonSegmentMatchingToolCfg(flags, name="MuonSegmentMatchingTool", **kwargs):
-    from MuonSegmentMatchingTools.MuonSegmentMatchingToolsConf import Muon__MuonSegmentMatchingTool
+    Muon__MuonSegmentMatchingTool=CompFactory.Muon__MuonSegmentMatchingTool
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
     
     kwargs.setdefault( "doThetaMatching", flags.Muon.useSegmentMatching)
@@ -196,7 +197,7 @@ def MuonSegmentMatchingToolCfg(flags, name="MuonSegmentMatchingTool", **kwargs):
     return result
     
 def MooCandidateMatchingToolCfg(flags, name="MooCandidateMatchingTool", doSegmentPhiMatching=True, **kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MooCandidateMatchingTool
+    Muon__MooCandidateMatchingTool=CompFactory.Muon__MooCandidateMatchingTool
     from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
     from MuonConfig.MuonRecToolsConfig import MuonExtrapolatorCfg
     
@@ -250,7 +251,7 @@ def MooCandidateMatchingToolCfg(flags, name="MooCandidateMatchingTool", doSegmen
     return result
 
 def MuonSegmentRegionRecoveryToolCfg(flags, name="MuonSegmentRegionRecoveryTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonSegmentRegionRecoveryTool
+    Muon__MuonSegmentRegionRecoveryTool=CompFactory.Muon__MuonSegmentRegionRecoveryTool
     from MuonConfig.MuonRecToolsConfig import MuonExtrapolatorCfg, MuonStationIntersectSvcCfg
     
     # Based on https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MooreTools.py#L426
@@ -304,7 +305,7 @@ def MuonSegmentRegionRecoveryToolCfg(flags, name="MuonSegmentRegionRecoveryTool"
     return result
     
 def MuPatCandidateToolCfg(flags, name="MuPatCandidateTool", **kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MuPatCandidateTool
+    Muon__MuPatCandidateTool=CompFactory.Muon__MuPatCandidateTool
     # https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuPatTools.py#L32
     from MuonConfig.MuonRIO_OnTrackCreatorConfig import CscClusterOnTrackCreatorCfg,MdtDriftCircleOnTrackCreatorCfg
     result = MdtDriftCircleOnTrackCreatorCfg(flags)
@@ -322,7 +323,7 @@ def MuPatCandidateToolCfg(flags, name="MuPatCandidateTool", **kwargs):
     return result
     
 def MuonChamberHoleRecoveryToolCfg(flags, name="MuonChamberHoleRecoveryTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonChamberHoleRecoveryTool
+    Muon__MuonChamberHoleRecoveryTool=CompFactory.Muon__MuonChamberHoleRecoveryTool
     result=ComponentAccumulator()
     kwargs.setdefault("AddMeasurements",  not flags.Muon.doSegmentT0Fit )
     if flags.Detector.GeometryCSC:
@@ -352,7 +353,7 @@ def MuonChamberHoleRecoveryToolCfg(flags, name="MuonChamberHoleRecoveryTool", **
     
 
 def MuonTrackSteeringCfg(flags, name="MuonTrackSteering", **kwargs):
-    from MuonTrackSteeringTools.MuonTrackSteeringToolsConf import Muon__MuonTrackSteering
+    Muon__MuonTrackSteering=CompFactory.Muon__MuonTrackSteering
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py#L35
     result=ComponentAccumulator()
     
@@ -441,7 +442,7 @@ def MuonTrackSteeringCfg(flags, name="MuonTrackSteering", **kwargs):
     return result
 
 def MuonTrackSelector(flags, name = "MuonTrackSelectorTool", **kwargs):
-    from MuonTrackFinderTools.MuonTrackFinderToolsConf import Muon__MuonTrackSelectorTool
+    Muon__MuonTrackSelectorTool=CompFactory.Muon__MuonTrackSelectorTool
     # In MooreTools this is:
     # if beamFlags.beamType() == 'cosmics' or beamFlags.beamType() == 'singlebeam' or globalflags.DataSource() == 'data' :
     # Hopefully this is good enough
@@ -460,7 +461,7 @@ def MuonTrackSelector(flags, name = "MuonTrackSelectorTool", **kwargs):
     return Muon__MuonTrackSelectorTool(name, **kwargs)
 
 def MuonTrackBuildingCfg(flags):
-    from MuonSegmentTrackMaker.MuonSegmentTrackMakerConf import MuPatTrackBuilder
+    MuPatTrackBuilder=CompFactory.MuPatTrackBuilder
     # This is based on https://gitlab.cern.ch/atlas/athena/blob/release/22.0.3/MuonSpectrometer/MuonReconstruction/MuonRecExample/python/MuonStandalone.py#L162
     result=ComponentAccumulator()
     
@@ -468,7 +469,7 @@ def MuonTrackBuildingCfg(flags):
     from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg 
     result.merge( MuonGeoModelCfg(flags) )
     
-    from MuonRecHelperTools.MuonRecHelperToolsConf import Muon__MuonEDMHelperSvc
+    Muon__MuonEDMHelperSvc=CompFactory.Muon__MuonEDMHelperSvc
     muon_edm_helper_svc = Muon__MuonEDMHelperSvc("MuonEDMHelperSvc")
     result.addService( muon_edm_helper_svc )
     
@@ -549,14 +550,14 @@ if __name__=="__main__":
     if args.threads>1 and args.forceclone:
         log.info('Forcing track building cardinality to be equal to '+str(args.threads))
         # We want to force the algorithms to run in parallel (eventually the algorithm will be marked as cloneable in the source code)
-        from GaudiHive.GaudiHiveConf import AlgResourcePool
+        AlgResourcePool=CompFactory.AlgResourcePool
         cfg.addService(AlgResourcePool( OverrideUnClonable=True ) )
         track_builder = acc.getPrimary()
         track_builder.Cardinality=args.threads
             
     # This is a temporary fix - it should go someplace central as it replaces the functionality of addInputRename from here:
     # https://gitlab.cern.ch/atlas/athena/blob/master/Control/SGComps/python/AddressRemappingSvc.py
-    from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+    AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
     pps = ProxyProviderSvc()
     ars=AddressRemappingSvc()
     pps.ProviderNames += [ 'AddressRemappingSvc' ]
diff --git a/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
index 4d7486635bb065d3a8eeffd600aa8f944535d51d..bec08779483e07422b70a1998d7687dda492655a 100644
--- a/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
@@ -3,10 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
-from RPC_Digitization.RPC_DigitizationConf import RpcDigitizationTool, RPC_Digitizer
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+RpcDigitizationTool, RPC_Digitizer=CompFactory.getComps("RpcDigitizationTool","RPC_Digitizer",)
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from MuonConfig.MuonByteStreamCnvTestConfig import RpcDigitToRpcRDOCfg, RpcOverlayDigitToRpcRDOCfg
 from MuonConfig.MuonCablingConfig import RPCCablingConfigCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
diff --git a/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
index dca5509b8d0664ceb27d60cc571028e8a25e6f2b..0eb8779e6236ed0f7a89dedc20b7fa274e340f6c 100644
--- a/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
@@ -3,10 +3,11 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
-from TGC_Digitization.TGC_DigitizationConf import TgcDigitizationTool, TGCDigitizer
-from PileUpComps.PileUpCompsConf import PileUpXingFolder
+TgcDigitizationTool, TGCDigitizer=CompFactory.getComps("TgcDigitizationTool","TGCDigitizer",)
+PileUpXingFolder=CompFactory.PileUpXingFolder
 from MuonConfig.MuonByteStreamCnvTestConfig import TgcDigitToTgcRDOCfg, TgcOverlayDigitToTgcRDOCfg
 from MuonConfig.MuonCablingConfig import TGCCablingConfigCfg
 from Digitization.TruthDigitizationOutputConfig import TruthDigitizationOutputCfg
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDToolConfig.py b/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDToolConfig.py
index cfeabcd881004d2a844ac181afed41ff37c30b92..2141f9f5f5c2293ee242798d1c49384991a21911 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDToolConfig.py
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/python/MuonG4SDToolConfig.py
@@ -1,7 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
+from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
-from MuonG4SD.MuonG4SDConf import CSCSensitiveDetectorCosmicsTool,CSCSensitiveDetectorTool, GenericMuonSensitiveDetectorTool,MDTSensitiveDetectorCosmicsTool, MDTSensitiveDetectorTool, MicromegasSensitiveDetectorTool, RPCSensitiveDetectorCosmicsTool, RPCSensitiveDetectorTool, TGCSensitiveDetectorCosmicsTool, TGCSensitiveDetectorTool, sTGCSensitiveDetectorTool
+CSCSensitiveDetectorCosmicsTool,CSCSensitiveDetectorTool, GenericMuonSensitiveDetectorTool,MDTSensitiveDetectorCosmicsTool, MDTSensitiveDetectorTool, MicromegasSensitiveDetectorTool, RPCSensitiveDetectorCosmicsTool, RPCSensitiveDetectorTool, TGCSensitiveDetectorCosmicsTool, TGCSensitiveDetectorTool, sTGCSensitiveDetectorTool=CompFactory.getComps("CSCSensitiveDetectorCosmicsTool","CSCSensitiveDetectorTool","GenericMuonSensitiveDetectorTool","MDTSensitiveDetectorCosmicsTool","MDTSensitiveDetectorTool","MicromegasSensitiveDetectorTool","RPCSensitiveDetectorCosmicsTool","RPCSensitiveDetectorTool","TGCSensitiveDetectorCosmicsTool","TGCSensitiveDetectorTool","sTGCSensitiveDetectorTool",)
 
 def CSCSensitiveDetectorCosmicsCfg(ConfigFlags, name="CSCSensitiveDetectorCosmics", **kwargs):
     bare_collection_name = "CSC_Hits"
@@ -32,7 +34,7 @@ def CSCSensitiveDetectorCfg(ConfigFlags, name="CSCSensitiveDetector", **kwargs):
 def GenericMuonSensitiveDetectorCfg(ConfigFlags, name="GenericMuonSensitiveDetector", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["GenericSenitiveVolume"])
     kwargs.setdefault("OutputCollectionNames", ["GenericMuonSensitiveDetector"])
-
+    result=ComponentAccumulator()
     result.setPrivateTools( GenericMuonSensitiveDetectorTool(name, **kwargs) )
     return result
 
@@ -68,7 +70,7 @@ def MDTSensitiveDetectorCfg(ConfigFlags, name="MDTSensitiveDetector", **kwargs):
 def MicromegasSensitiveDetectorCfg(ConfigFlags, name="MicromegasSensitiveDetector", **kwargs):
     kwargs.setdefault("LogicalVolumeNames", ["Muon::MM_Sensitive"])
     kwargs.setdefault("OutputCollectionNames", ["MicromegasSensitiveDetector"]) # need ISF_Collection merger in acc?
-
+    result=ComponentAccumulator()
     result.setPrivateTools( MicromegasSensitiveDetectorTool(name, **kwargs) )
     return result
 
@@ -133,5 +135,6 @@ def sTGCSensitiveDetectorCfg(ConfigFlags, name="sTGCSensitiveDetector", **kwargs
     kwargs.setdefault("LogicalVolumeNames", ["Muon::sTGC_Sensitive"])
     kwargs.setdefault("OutputCollectionNames", ["sTGCSensitiveDetector"])
 
+    result=ComponentAccumulator()
     result.setPrivateTools( sTGCSensitiveDetectorTool(name, **kwargs) )
     return result
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronIsEMSelectorsConfig.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronIsEMSelectorsConfig.py
index b4745b90ae89bfbc208733d76576259a0d308cdc..2e32e7371acbba20c577eb158d8e396e9108e0e6 100644
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronIsEMSelectorsConfig.py
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronIsEMSelectorsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Configure the AsgElectronIsEMSelector with the quality cuts and allow for (re-)setting of all provided cuts."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Import the needed stuff specific to the ElectronPhotonSelectorTools
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgElectronIsEMSelector
+AsgElectronIsEMSelector=CompFactory.AsgElectronIsEMSelector
 from ElectronPhotonSelectorTools.ElectronIsEMSelectorMapping import ElectronIsEMMap, electronPIDmenu
 
 
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronLikelihoodToolsConfig.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronLikelihoodToolsConfig.py
index 622d4001fb2ff9ff7b7ebf11dd027976d13b6d47..fca0f5ac8edb1f8f48946cac7083e576c26cdbcc 100755
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronLikelihoodToolsConfig.py
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgElectronLikelihoodToolsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "    Configure the AsgElectronLikelihoodTool with the quality cuts and allow for (re-)setting of all provided cuts."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Import the needed stuff specific to the ElectronPhotonSelectorTools
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgElectronLikelihoodTool
+AsgElectronLikelihoodTool=CompFactory.AsgElectronLikelihoodTool
 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping import ElectronLikelihoodMap, electronLHmenu
 
 
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgForwardElectronIsEMSelectorsConfig.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgForwardElectronIsEMSelectorsConfig.py
index bb9bbe2aa6d75ea907ce13fb857a2f849fab1b1d..fe5fdb4412dda8c97cd4d51e936423fc72a7eb2b 100644
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgForwardElectronIsEMSelectorsConfig.py
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgForwardElectronIsEMSelectorsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Configure the AsgForwardElectronIsEMSelector with the quality cuts and allow for (re-)setting of all provided cuts."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Import the needed stuff specific to the ElectronPhotonSelectorTools
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgForwardElectronIsEMSelector
+AsgForwardElectronIsEMSelector=CompFactory.AsgForwardElectronIsEMSelector
 from ElectronPhotonSelectorTools.ForwardElectronIsEMSelectorMapping import ForwardElectronIsEMMap, forwardelectronPIDmenu
 
 
diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgPhotonIsEMSelectorsConfig.py b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgPhotonIsEMSelectorsConfig.py
index dfcae357158b54a5dc528ba1b5c17fae9c55b379..f23aa8e4c8eaca02e4f7554178dde70c68992667 100644
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgPhotonIsEMSelectorsConfig.py
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/python/AsgPhotonIsEMSelectorsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Configure the AsgPhotonIsEMSelector with the quality cuts and allow for (re-)setting of all provided cuts."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 # Import the needed stuff specific to the PhotonPhotonSelectorTools
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgPhotonIsEMSelector
+AsgPhotonIsEMSelector=CompFactory.AsgPhotonIsEMSelector
 from ElectronPhotonSelectorTools.PhotonIsEMSelectorMapping import PhotonIsEMMap, photonPIDmenu
 
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagMuonToJetAssociatorConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagMuonToJetAssociatorConfig.py
index c5b1854f4a67eab1d472daff071d5bbb01674fe8..ee48d5289e3bc5f4c355a25c0a4953d17995210b 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagMuonToJetAssociatorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagMuonToJetAssociatorConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from ParticleJetTools.ParticleJetToolsConf import Analysis__ParticleToJetAssociator
+Analysis__ParticleToJetAssociator=CompFactory.Analysis__ParticleToJetAssociator
 
 def BTagMuonToJetAssociatorCfg(flags, name, useBTagFlagsDefaults = True, **options):
     """Sets up a BTagMuonToJetAssociator tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py
index 787f923758182a8f549cffb40d2cfba81bfe0613..ea8b44f1a53aa8a34532f4506e91e6b48b95a560 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from IOVDbSvc.IOVDbSvcConfig import addFolders
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.JetBTaggerAlgConfig import JetBTaggerAlgCfg
@@ -22,7 +23,7 @@ def JetTagCalibCfg(ConfigFlags, scheme="", TaggerList = []):
       #IP3D
       #Same as IP2D. Revisit JetTagCalibCondAlg.cxx if not.
 
-      from JetTagCalibration.JetTagCalibrationConf import Analysis__JetTagCalibCondAlg as JetTagCalibCondAlg
+      JetTagCalibCondAlg,=CompFactory.getComps("Analysis__JetTagCalibCondAlg",)
       jettagcalibcondalg = "JetTagCalibCondAlg"
       readkeycalibpath = "/GLOBAL/BTagCalib/RUN12"
       connSchema = "GLOBAL_OFL"
@@ -86,7 +87,7 @@ def BTagRedoESDCfg(flags, jet, extraContainers=[]):
     acc=ComponentAccumulator()
 
     #Delete BTagging container read from input ESD
-    from SGComps.SGCompsConf import AddressRemappingSvc, ProxyProviderSvc
+    AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps("AddressRemappingSvc","ProxyProviderSvc",)
     AddressRemappingSvc = AddressRemappingSvc("AddressRemappingSvc")
     AddressRemappingSvc.TypeKeyRenameMaps += ['xAOD::JetAuxContainer#AntiKt4EMTopoJets.btaggingLink->AntiKt4EMTopoJets.btaggingLink_old']
     AddressRemappingSvc.TypeKeyRenameMaps += ['xAOD::BTaggingContainer#BTagging_AntiKt4EMTopo->BTagging_AntiKt4EMTopo_old']
@@ -134,7 +135,7 @@ def BTagCfg(inputFlags,**kwargs):
     from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
     result.merge(MuonGeoModelCfg(inputFlags))    
 
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     result.addService(GeometryDBSvc("InDetGeometryDBSvc"))
     
     from AthenaCommon import CfgGetter
@@ -146,7 +147,7 @@ def BTagCfg(inputFlags,**kwargs):
     #result.merge(addFolders(inputFlags,['/GLOBAL/TrackingGeo/LayerMaterialV2'],'GLOBAL_ONL'))
     result.merge(addFolders(inputFlags,['/EXT/DCS/MAGNETS/SENSORDATA'],'DCS_OFL'))
     
-    from MagFieldServices.MagFieldServicesConf import MagField__AtlasFieldSvc
+    MagField__AtlasFieldSvc=CompFactory.MagField__AtlasFieldSvc
     kwargs.setdefault( "UseDCS", True )
     result.addService(MagField__AtlasFieldSvc("AtlasFieldSvc",**kwargs))
     del kwargs['UseDCS']
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagSecVertexingConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagSecVertexingConfig.py
index f17e5785c4516306debbb729dbc17e159cad85a3..cbe475bb2fd6ea9bf4529378069490ad0e3638a0 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagSecVertexingConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagSecVertexingConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.NewJetFitterVxFinderConfig import NewJetFitterVxFinderCfg
 from BTagging.InDetVKalVxInJetToolConfig import InDetVKalVxInJetToolCfg
 from JetTagTools.JetFitterVariablesFactoryConfig import JetFitterVariablesFactoryCfg
 from BTagging.MSVVariablesFactoryConfig import MSVVariablesFactoryCfg
 
-from BTagging.BTaggingConf import Analysis__BTagSecVertexing
+Analysis__BTagSecVertexing=CompFactory.Analysis__BTagSecVertexing
 
 def BTagSecVtxToolCfg(flags, Name, JetCollection, TimeStamp = "", **options):
     """Adds a SecVtxTool instance and registers it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagToolConfig.py
index 821cc727216e6ce45acb61c719a23b15f80507ba..714e97a70eef389a192786b372604fd5a00592b1 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagToolConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from BTagging.BTaggingConf import Analysis__BTagTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+Analysis__BTagTool=CompFactory.Analysis__BTagTool
 from BTagging.BTaggingFlags import BTaggingFlags
 
 def BTagToolCfg(ConfigFlags, jetcol, TaggerList, useBTagFlagsDefaults = True):
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackAssociationConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackAssociationConfig.py
index 4af0017732e7946e5aeb12c57f7028077a44818e..2fd55724df550855df0a7f34db72a60f1d9489b2 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackAssociationConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackAssociationConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTagTrackToJetAssociatorConfig import BTagTrackToJetAssociatorCfg
 from BTagging.BTagMuonToJetAssociatorConfig import BTagMuonToJetAssociatorCfg
 from BTagging.BTaggingFlags import BTaggingFlags
 
-from BTagging.BTaggingConf import Analysis__BTagTrackAssociation
+Analysis__BTagTrackAssociation=CompFactory.Analysis__BTagTrackAssociation
 
 def BTagTrackAssociationCfg(flags, name, JetCollection, TaggerList, options={}):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackToJetAssociatorConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackToJetAssociatorConfig.py
index 325565ebeacad84cb8f5bd53d71f070bcffe0774..3dd76f21251aa1c5416dfd7b12bb48613ff39abb 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackToJetAssociatorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagTrackToJetAssociatorConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from ParticleJetTools.ParticleJetToolsConf import Analysis__ParticleToJetAssociator
+Analysis__ParticleToJetAssociator=CompFactory.Analysis__ParticleToJetAssociator
 
 def BTagTrackToJetAssociatorCfg(flags, name, options = {}):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterInitializationHelperConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterInitializationHelperConfig.py
index ddb3fafcc815f3c4061544010fd8b6374b788895..39fba4c1bc9d1ccf5b5f220a18e2fec80618db61 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterInitializationHelperConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterInitializationHelperConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from BTagging.JetFitterFullLinearizedTrackFactoryConfig import JetFitterFullLinearizedTrackFactoryCfg
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__JetFitterInitializationHelper
+Trk__JetFitterInitializationHelper=CompFactory.Trk__JetFitterInitializationHelper
 
 def ImprovedJetFitterInitializationHelperCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a ImprovedJetFitterInitializationHelper tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterRoutinesConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterRoutinesConfig.py
index 470d9b4ac1e1a0993783e9bedbbf4b4a380142bc..972562cb03aeeeb329c1e4ee360f2b1acfe02929 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterRoutinesConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/ImprovedJetFitterRoutinesConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.ImprovedJetFitterInitializationHelperConfig import ImprovedJetFitterInitializationHelperCfg
 from BTagging.TrkDistanceFinderNeutralNeutralConfig import TrkDistanceFinderNeutralNeutralCfg
 from BTagging.TrkDistanceFinderNeutralChargedConfig import TrkDistanceFinderNeutralChargedCfg
 
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__JetFitterRoutines
+Trk__JetFitterRoutines=CompFactory.Trk__JetFitterRoutines
 
 def ImprovedJetFitterRoutinesCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a ImprovedJetFitterRoutines tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetImprovedJetFitterTrackSelectorToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetImprovedJetFitterTrackSelectorToolConfig.py
index fd447ed1ca911956b80e16e9a42e99aba980fc7e..91d205c085371ccbe1e80d46f58690607eee88a4 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetImprovedJetFitterTrackSelectorToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetImprovedJetFitterTrackSelectorToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the InDetDetailedTrackSelectorTool configurable
-from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool
+InDet__InDetDetailedTrackSelectorTool=CompFactory.InDet__InDetDetailedTrackSelectorTool
 
 
 def InDetImprovedJetFitterTrackSelectorToolCfg(name, useBTagFlagsDefaults = True, **options):
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetJetFitterUtilsConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetJetFitterUtilsConfig.py
index 95da47ff20fde63f4638d79662c1333a8d6fdfe2..0eb8730a127e8caa6fd672d67352a05a6c6b6f5e 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetJetFitterUtilsConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetJetFitterUtilsConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from JetTagTools.BTagFullLinearizedTrackFactoryConfig import BTagFullLinearizedTrackFactoryCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 
 # importi the FullLinearizedTrackFactory configurable
-from InDetSecVxFinderTool.InDetSecVxFinderToolConf import InDet__InDetJetFitterUtils
+InDet__InDetJetFitterUtils=CompFactory.InDet__InDetJetFitterUtils
 
 
 def InDetJetFitterUtilsCfg(flags, name = 'InDetJFUtils', useBTagFlagsDefaults = True, options = {}):
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetVKalVxInJetToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetVKalVxInJetToolConfig.py
index 286029b32583c44732b749dcc2dddb2f2fa78749..ef641cdbef5c92071b760b1bfda5930ecee814e9 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetVKalVxInJetToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/InDetVKalVxInJetToolConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags as geoFlags
 
 # import the InDetVKalVxInJetTool configurable
-from InDetVKalVxInJetTool.InDetVKalVxInJetToolConf import InDet__InDetVKalVxInJetTool
+InDet__InDetVKalVxInJetTool=CompFactory.InDet__InDetVKalVxInJetTool
 
 def InDetVKalVxInJetToolCfg(name, MSV = False, useBTagFlagsDefaults = True, **options):
     """Sets up a InDetVKalVxInJetTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetBTaggerAlgConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetBTaggerAlgConfig.py
index 2426a380288c31ea520f99fd6c2c807064c40c92..495d49a0f8128f072867f01bac266bbe9f91dd7f 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetBTaggerAlgConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetBTaggerAlgConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTagSecVertexingConfig import BTagSecVtxToolCfg
 from BTagging.BTagTrackAssociationConfig import BTagTrackAssociationCfg
 from BTagging.BTagToolConfig import BTagToolCfg
 
-# import the JetBTaggerAlg configurable
-from BTagging.BTaggingConf import Analysis__JetBTaggerAlg as JetBTaggerAlg
+
+JetBTaggerAlg=CompFactory.Analysis__JetBTaggerAlg
 
 def JetBTaggerAlgCfg(ConfigFlags, JetCollection="", TaggerList=[], SetupScheme="", **options):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterFullLinearizedTrackFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterFullLinearizedTrackFactoryConfig.py
index 7b21c7f0c2efb4af37cdb2bda1084c0adc7fe829..9a683873e3cc7eb378d962a4229b0801b08f7230 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterFullLinearizedTrackFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterFullLinearizedTrackFactoryConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__FullLinearizedTrackFactory
+Trk__FullLinearizedTrackFactory=CompFactory.Trk__FullLinearizedTrackFactory
 
 def JetFitterFullLinearizedTrackFactoryCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterFullLinearizedTrackFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterMode3dTo1dFinderConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterMode3dTo1dFinderConfig.py
index da092ff961e37520e3c7a1df8fb22b555997a9be..f7f7b5607ad2603761c0c6eaa376c6ec8b9c571e 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterMode3dTo1dFinderConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterMode3dTo1dFinderConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the Mode3dTo1dFinder configurable
-from TrkVertexSeedFinderUtils.TrkVertexSeedFinderUtilsConf import Trk__Mode3dTo1dFinder
+Trk__Mode3dTo1dFinder=CompFactory.Trk__Mode3dTo1dFinder
 
 def JetFitterMode3dTo1dFinderCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterMode3dTo1dFinder tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexFitterConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexFitterConfig.py
index 7b301fb1d740889f708ec9af4be09a743fe5f187..4a9e71a0e9c7e46ffc6dccdcc1c813184b068cf8 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexFitterConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexFitterConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.JetFitterFullLinearizedTrackFactoryConfig import JetFitterFullLinearizedTrackFactoryCfg
 from BTagging.JetFitterSequentialVertexSmootherConfig import JetFitterSequentialVertexSmootherCfg
 
 # import the SequentialVertexFitter configurable
-from TrkVertexFitters.TrkVertexFittersConf import Trk__SequentialVertexFitter
+Trk__SequentialVertexFitter=CompFactory.Trk__SequentialVertexFitter
 
 def JetFitterSequentialVertexFitterCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterSequentialVertexFitter tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexSmootherConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexSmootherConfig.py
index 343695bdc5717edd588a6b7aae6aed9ad7175048..5313641346f72d654267c5f0400d007cd5a000e3 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexSmootherConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetFitterSequentialVertexSmootherConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the JetFitterSequentialVertexSmoother configurable
-from TrkVertexFitters.TrkVertexFittersConf import Trk__SequentialVertexSmoother
+Trk__SequentialVertexSmoother=CompFactory.Trk__SequentialVertexSmoother
 
 def JetFitterSequentialVertexSmootherCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterSequentialVertexSmoother tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationAlgConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationAlgConfig.py
index 1a3011cce8f8283df033370ef78786717c721d62..9d49e1f1bf5edd051025184f9f10dc5b5c549926 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationAlgConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationAlgConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.JetParticleAssociationConfig import JetParticleAssociationCfg
 from BTagging.BTagTrackToJetAssociatorConfig import BTagTrackToJetAssociatorCfg
 
 # import the JetBTaggerAlg configurable
-from BTagging.BTaggingConf import Analysis__JetParticleAssociationAlg
+Analysis__JetParticleAssociationAlg=CompFactory.Analysis__JetParticleAssociationAlg
 
 def JetParticleAssociationAlgCfg(ConfigFlags, JetCollection="", ParticleCollection="", AssociationName="", **options):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationConfig.py
index af22805a18f4b2e8b3b39e27f071050afc096207..11e824251523361161b7d00a9d9ef36bfe5b4b47 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetParticleAssociationConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the JetParticleAssociation configurable (first try - only
-from ParticleJetTools.ParticleJetToolsConf import JetParticleShrinkingConeAssociation
+JetParticleShrinkingConeAssociation=CompFactory.JetParticleShrinkingConeAssociation
 
 def JetParticleAssociationCfg(ConfigFlags, **options):
 
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetSecVertexingAlgConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetSecVertexingAlgConfig.py
index fec3898093151df41a5c26c7b26415bd1f0289f1..2a82de38dd11476024ffda8b01daaa0492676ef4 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetSecVertexingAlgConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/JetSecVertexingAlgConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.NewJetFitterVxFinderConfig import NewJetFitterVxFinderCfg
 from BTagging.InDetVKalVxInJetToolConfig import InDetVKalVxInJetToolCfg
 from JetTagTools.JetFitterVariablesFactoryConfig import JetFitterVariablesFactoryCfg
 from BTagging.MSVVariablesFactoryConfig import MSVVariablesFactoryCfg
 
-from BTagging.BTaggingConf import Analysis__JetSecVertexingAlg
+Analysis__JetSecVertexingAlg=CompFactory.Analysis__JetSecVertexingAlg
 
 def JetSecVertexingAlgCfg(ConfigFlags, JetCollection, ParticleCollection="", SVFinder="", Associator="", **options):
     """Adds a SecVtxTool instance and registers it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/KalmanVertexOnJetAxisSmootherConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/KalmanVertexOnJetAxisSmootherConfig.py
index 7a4f3d3c9a71742b9092cb8e64a4d590383f504e..e694d1f254812a47a1acfe40f0b2f3d8455b6ff5 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/KalmanVertexOnJetAxisSmootherConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/KalmanVertexOnJetAxisSmootherConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the KalmanVertexOnJetAxisSmoother configurable
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__KalmanVertexOnJetAxisSmoother
+Trk__KalmanVertexOnJetAxisSmoother=CompFactory.Trk__KalmanVertexOnJetAxisSmoother
 
 def KalmanVertexOnJetAxisSmootherCfg(name, **options):
     acc = ComponentAccumulator()
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/MSVVariablesFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/MSVVariablesFactoryConfig.py
index 8529f5e7c389a18e20f2d405d677d2f678956958..56610e92bc55a685d4ea74dd2c35637bb67f1263 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/MSVVariablesFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/MSVVariablesFactoryConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the MSVVariablesFactory configurable
-from JetTagTools.JetTagToolsConf import Analysis__MSVVariablesFactory
+Analysis__MSVVariablesFactory=CompFactory.Analysis__MSVVariablesFactory
 
 def MSVVariablesFactoryCfg(name, **options):
     """Sets up a MSVVariablesFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/NewJetFitterVxFinderConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/NewJetFitterVxFinderConfig.py
index 35f1539f10044b4559f161b1de768ed44008626f..e6fe80e0a87581a199145a7d4fc73a7007c7c40c 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/NewJetFitterVxFinderConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/NewJetFitterVxFinderConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.InDetJetFitterUtilsConfig import InDetJetFitterUtilsCfg
 from BTagging.JetFitterSequentialVertexFitterConfig import JetFitterSequentialVertexFitterCfg
@@ -12,7 +13,7 @@ from BTagging.InDetImprovedJetFitterTrackSelectorToolConfig import InDetImproved
 from BTagging.ImprovedJetFitterInitializationHelperConfig import ImprovedJetFitterInitializationHelperCfg
 
 # import the InDetImprovedJetFitterVxFinder configurable
-from InDetSecVxFinderTool.InDetSecVxFinderToolConf import InDet__InDetImprovedJetFitterVxFinder
+InDet__InDetImprovedJetFitterVxFinder=CompFactory.InDet__InDetImprovedJetFitterVxFinder
 
 # define the class
 def NewJetFitterVxFinderCfg(flags, name = 'JFVxFinder', suffix = "", useBTagFlagsDefaults = True, options = {}):
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralChargedConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralChargedConfig.py
index 9c2b47321fd6b276dff83d7179b1dcf17a6cbe12..38e9fea5acf67908b6fdc6c8ca40847a24fb8c4c 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralChargedConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralChargedConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__TrkDistanceFinderNeutralCharged
+Trk__TrkDistanceFinderNeutralCharged=CompFactory.Trk__TrkDistanceFinderNeutralCharged
 
 def TrkDistanceFinderNeutralChargedCfg(name, **options):
     """Sets up a TrkDistanceFinderNeutralCharged tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralNeutralConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralNeutralConfig.py
index 3c38857114c75fcda73c7b81f2ebb1497df4943f..d7d683d92697086dd7f8cde1466cd662d21f16c2 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralNeutralConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/TrkDistanceFinderNeutralNeutralConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from TrkJetVxFitter.TrkJetVxFitterConf import Trk__TrkDistanceFinderNeutralNeutral
+Trk__TrkDistanceFinderNeutralNeutral=CompFactory.Trk__TrkDistanceFinderNeutralNeutral
 
 def TrkDistanceFinderNeutralNeutralCfg(name, **options):
     """Sets up a TrkDistanceFinderNeutralNeutral tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/VxInternalEdmFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/VxInternalEdmFactoryConfig.py
index 47dc396570bdb86fb6e65a5e745d94509e2d95cb..31fd2853698a3e9739e235118d1adb1ccca2e4cf 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/VxInternalEdmFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/VxInternalEdmFactoryConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.JetFitterFullLinearizedTrackFactoryConfig import JetFitterFullLinearizedTrackFactoryCfg
 
 # import the SequentialVertexFitter configurable
-from TrkVxEdmCnv.TrkVxEdmCnvConf import Trk__VxCandidateXAODVertex
+Trk__VxCandidateXAODVertex=CompFactory.Trk__VxCandidateXAODVertex
 
 
 def VxInternalEdmFactoryCfg(name, useBTagFlagsDefaults = True, **options):
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagFullLinearizedTrackFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagFullLinearizedTrackFactoryConfig.py
index bd6cdcb575153eb7f32942d03ae032eae5c46893..eb3466d57015a955496aacbfffa67e79916bb0f1 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagFullLinearizedTrackFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagFullLinearizedTrackFactoryConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 
 # import the FullLinearizedTrackFactory configurable
-from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__FullLinearizedTrackFactory
+Trk__FullLinearizedTrackFactory=CompFactory.Trk__FullLinearizedTrackFactory
 
 def BTagFullLinearizedTrackFactoryCfg(flags, name = 'FullLinearizedTrackFactory', useBTagFlagsDefaults = True, **options ):
     """Sets up a BTagFullLinearizedTrackFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexIPEstimatorConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexIPEstimatorConfig.py
index 65d4a618e3257176e58c9ec133ba0f19cdfe8be2..c4c92a291633d63d3e695de3083552b7493cf101 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexIPEstimatorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexIPEstimatorConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from JetTagTools.BTagFullLinearizedTrackFactoryConfig import BTagFullLinearizedTrackFactoryCfg
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 
 # import the TrackToVertexIPEstimator configurable
-from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__TrackToVertexIPEstimator
+Trk__TrackToVertexIPEstimator=CompFactory.Trk__TrackToVertexIPEstimator
 
 def BTagTrackToVertexIPEstimatorCfg( flags, name = 'TrkToVxIPEstimator', useBTagFlagsDefaults = True, **options ):
     """Sets up a TrackToVertexIPEstimator tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexToolConfig.py
index 6504a2de404210e60a39b8def486d49979d5bb8e..dfed4a562d3440143dba68d871afd225876a7a85 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/BTagTrackToVertexToolConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 
 # import the TrackToVertexIPEstimator configurable
-from TrackToVertex.TrackToVertexConf import Reco__TrackToVertex
+Reco__TrackToVertex=CompFactory.Reco__TrackToVertex
 
 def BTagTrackToVertexToolCfg(flags, name = 'BTagTrackToVertexTool', useBTagFlagsDefaults = True, **options ):
     """Sets up a BTagTrackToVertexTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/DL1TagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/DL1TagConfig.py
index 00a725fbd7410f87e86542393fa93d0444bcfc47..61e3e4917017019a4717e931cd927b165c5bd644 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/DL1TagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/DL1TagConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 
 # import the DL1Tag configurable
-from JetTagTools.JetTagToolsConf import Analysis__DL1Tag
+Analysis__DL1Tag=CompFactory.Analysis__DL1Tag
 
 # define the class
 def DL1TagCfg(flags, name = 'DL1', scheme = '', useBTagFlagsDefaults = True, **options):
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/IP2DTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/IP2DTagConfig.py
index abeb967096db760f6278505c84842daaf9d5d6ad..3023534b7f0d7331352a41dbce0e97947d32018f 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/IP2DTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/IP2DTagConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.BTagTrackToVertexIPEstimatorConfig import BTagTrackToVertexIPEstimatorCfg
 from JetTagTools.SVForIPToolConfig import SVForIPToolCfg
@@ -9,7 +10,7 @@ from JetTagTools.IPTrackSelectorConfig import IPTrackSelectorCfg
 from JetTagTools.NewLikelihoodToolConfig import NewLikelihoodToolCfg
 
 # import the IPTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__IPTag
+Analysis__IPTag=CompFactory.Analysis__IPTag
 
 def IP2DTagCfg( flags, name = 'IP2DTag', scheme = '', useBTagFlagsDefaults = True, **options ):
     """Sets up a IP2DTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/IP3DTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/IP3DTagConfig.py
index 9bc61f394e0298f0232618fa2154f84df74a933d..7adc949a355909a35d93f32e15eef1e866dff96b 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/IP3DTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/IP3DTagConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.BTagTrackToVertexIPEstimatorConfig import BTagTrackToVertexIPEstimatorCfg
 from JetTagTools.SVForIPToolConfig import SVForIPToolCfg
@@ -11,7 +12,7 @@ from JetTagTools.InDetTrackSelectorConfig import InDetTrackSelectorCfg
 from JetTagTools.SpecialTrackAssociatorConfig import SpecialTrackAssociatorCfg
 
 # import the IPTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__IPTag
+Analysis__IPTag=CompFactory.Analysis__IPTag
 
 def IP3DTagCfg( flags, name = 'IP3DTag', scheme = '', useBTagFlagsDefaults = True, **options ):
     """Sets up a IP3DTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/IPDetailedTrackGradeFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/IPDetailedTrackGradeFactoryConfig.py
index a26c1b1e732beb552935337a2d33af97dd21997b..283fdb7bd08c5630a4ae63121a8ccc1a5bf65887 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/IPDetailedTrackGradeFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/IPDetailedTrackGradeFactoryConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the DetailedTrackGradeFactory configurable
-from JetTagTools.JetTagToolsConf import Analysis__DetailedTrackGradeFactory
+Analysis__DetailedTrackGradeFactory=CompFactory.Analysis__DetailedTrackGradeFactory
 
 def IPDetailedTrackGradeFactoryCfg( name = 'IPDetailedTrackGradeFactory', useBTagFlagsDefaults = True, **options ):
     """Sets up a IPDetailedTrackGradeFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/IPTrackSelectorConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/IPTrackSelectorConfig.py
index c8b2d691e91f612569bf23ce49ed0f5424eae548..e251700362f6d60b2b268fe1afa703aa1a032c85 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/IPTrackSelectorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/IPTrackSelectorConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from JetTagTools.BTagTrackToVertexToolConfig import BTagTrackToVertexToolCfg
 
 # import the TrackSelector configurable
-from JetTagTools.JetTagToolsConf import Analysis__TrackSelector
+Analysis__TrackSelector=CompFactory.Analysis__TrackSelector
 
 def IPTrackSelectorCfg(flags, name = 'IPTrackSelector', useBTagFlagsDefaults = True, **options ):
     """Sets up a IPTrackSelector tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/InDetTrackSelectorConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/InDetTrackSelectorConfig.py
index 4fa9a39bce179a2a30008b652bce4f7e39c8e542..169ce618bca4156a9ed586d13f8414e7148d9c4d 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/InDetTrackSelectorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/InDetTrackSelectorConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the TrackToVertexIPEstimator configurable
-from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool
+InDet__InDetTrackSelectionTool=CompFactory.InDet__InDetTrackSelectionTool
 
 def InDetTrackSelectorCfg( name = 'InDetTrackSelector', useBTagFlagsDefaults = True, **options ):
     """Sets up a InDetTrackSelector tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNNToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNNToolConfig.py
index c6238291e2f91949728abe4951742e893ccf983a..b54459d5b7d9e1bc1721d7b62875789508741733 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNNToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNNToolConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.NeuralNetworkToHistoToolConfig import NeuralNetworkToHistoToolCfg
 
 # import the JetFitterNNTool configurable
-from JetTagTools.JetTagToolsConf import Analysis__JetFitterNNTool
+Analysis__JetFitterNNTool=CompFactory.Analysis__JetFitterNNTool
 
 def JetFitterNNToolCfg( name = 'JetFitterNNTool', CombinedIPNN = False, useBTagFlagsDefaults = True, **options ):
     """Sets up a JetFitterNNTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNtupleWriterNNConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNtupleWriterNNConfig.py
index ad61aa12cb6868738178a83fbd8451d7368332c4..fc93c0e0a4e8971919aeb1434c2b672c43681315 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNtupleWriterNNConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterNtupleWriterNNConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the JetFitterNtupleWriter configurable
-from JetTagTools.JetTagToolsConf import Analysis__JetFitterNtupleWriter
+Analysis__JetFitterNtupleWriter=CompFactory.Analysis__JetFitterNtupleWriter
 
 def JetFitterNtupleWriterNNCfg( name = 'JetFitterNtupleWriterNN', useBTagFlagsDefaults = True, **options ):
     """Sets up a JetFitterTagNN tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterTagConfig.py
index ebc81a6851335a21995e7a26c918f4f5db5507da..e4329e95fd834a493d51fdb9f81f0903dec0f90b 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterTagConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.JetFitterNtupleWriterNNConfig import JetFitterNtupleWriterNNCfg
 from JetTagTools.JetFitterNNToolConfig import JetFitterNNToolCfg
 
 # import the JetFitterTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__JetFitterTag
+Analysis__JetFitterTag=CompFactory.Analysis__JetFitterTag
 
 def JetFitterTagCfg(flags, name = 'JetFitterTagNN', scheme = '', CombinedIPNN = False, useBTagFlagsDefaults = True, **options):
     """Sets up a JetFitterTagNN tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterVariablesFactoryConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterVariablesFactoryConfig.py
index 957e6f4bbfae0594bc98739c882babc7a9e8d008..4b55bcbcb97b2f8dd795f6b12c6dc51f91558881 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterVariablesFactoryConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/JetFitterVariablesFactoryConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from JetTagTools.JetTagToolsConf import Analysis__JetFitterVariablesFactory
+Analysis__JetFitterVariablesFactory=CompFactory.Analysis__JetFitterVariablesFactory
 
 def JetFitterVariablesFactoryCfg(name, useBTagFlagsDefaults = True, **options):
     """Sets up a NewJetFitterVariablesFactory tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MV2TagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MV2TagConfig.py
index 141608854107721bdee9ebcf437d8aaf59a2aa0e..b407a1e78a2fd4d75874b0ddb06481c84fff1da6 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MV2TagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MV2TagConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from BTagging.MV2defaultValues import default_values
 from BTagging.MV2defaultValues import MVTM_varNames
 
 # import the MV2Tag configurable
-from JetTagTools.JetTagToolsConf import Analysis__MV2Tag
+Analysis__MV2Tag=CompFactory.Analysis__MV2Tag
 
 def MV2TagCfg( flags, name = 'MV2c10', scheme = '', useBTagFlagsDefaults = True, **options ):
     """Sets up a MV2c10Tag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MultiSVTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MultiSVTagConfig.py
index 4729dea7afa3e7e1798549daf3642e7b54fd5113..d3f2fffa06d5a88398dc75fec869ca59e7059898 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MultiSVTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MultiSVTagConfig.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the MultiSVTag configurable
 
-from JetTagTools.JetTagToolsConf import Analysis__MultiSVTag
+Analysis__MultiSVTag=CompFactory.Analysis__MultiSVTag
 
 def MultiSVTagCfg(flags, name = 'MultiSVbb1Tag', taggerNameBase = 'MultiSVbb1', useBTagFlagsDefaults = True, **options):
     """Sets up a MultiSVTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MultivariateTagManagerConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MultivariateTagManagerConfig.py
index 222c135c7a288cc16c50a4e466da3a708c6ce5d8..0d5807d2e471969a2347f1e976f7a90ad0b9e67e 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MultivariateTagManagerConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MultivariateTagManagerConfig.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.DL1TagConfig import DL1TagCfg
 from JetTagTools.MV2TagConfig import MV2TagCfg
 
 # import the MultivariateTagManager configurable
-from JetTagTools.JetTagToolsConf import Analysis__MultivariateTagManager
+Analysis__MultivariateTagManager=CompFactory.Analysis__MultivariateTagManager
 
 def MultivariateTagManagerCfg(flags, name = 'MultivariateTagManager', TaggerList = ['DL1', 'DL1rnn', 'DL1mu', 'MV2c10'], scheme = '', useBTagFlagsDefaults = True, **options):
     """Sets up a MultivariateTagManager tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonCorrectionsToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonCorrectionsToolConfig.py
index 7870df4a94e8c22c33db63ebcdce390cce09bc48..8bf43f0567ada9c223c030dcca9bfc311b199cd2 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonCorrectionsToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonCorrectionsToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the MuonCalibrationAndSmearingTool configurable
-from MuonMomentumCorrections.MuonMomentumCorrectionsConf import CP__MuonCalibrationAndSmearingTool
+CP__MuonCalibrationAndSmearingTool=CompFactory.CP__MuonCalibrationAndSmearingTool
 
 def MuonCorrectionsToolCfg( name = 'MuonCorrectionsTool', **options):
     """Sets up the CP MuonCorrection tool and returns it."""
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonSelectorToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonSelectorToolConfig.py
index 4927bda69728d15f2c8a44b7619a40bc8de555a7..5553852073c610ad8be75aa328a0c7ea8a55c3e4 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonSelectorToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/MuonSelectorToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the MuonSelectionTool configurable
-from MuonSelectorTools.MuonSelectorToolsConf import CP__MuonSelectionTool
+CP__MuonSelectionTool=CompFactory.CP__MuonSelectionTool
 
 def MuonSelectorToolCfg( name = 'MuonSelectorTool', useBTagFlagsDefaults = True, **options ):
     """Sets up a MuonSelectorTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/NeuralNetworkToHistoToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/NeuralNetworkToHistoToolConfig.py
index 5f1b23e2dc476526dce755651c6c825b4ace965a..8d10d1974a2072a9d10a90e1662b3e99f72ee09b 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/NeuralNetworkToHistoToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/NeuralNetworkToHistoToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the NeuralNetworkToHistoTool configurable
-from TrkNeuralNetworkUtils.TrkNeuralNetworkUtilsConf import Trk__NeuralNetworkToHistoTool
+Trk__NeuralNetworkToHistoTool=CompFactory.Trk__NeuralNetworkToHistoTool
 
 def NeuralNetworkToHistoToolCfg( name = 'NeuralNetworkToHistoToolNN', useBTagFlagsDefaults = True, **options ):
     """Sets up a NeuralNetworkToHistoTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/NewLikelihoodToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/NewLikelihoodToolConfig.py
index 6b1b6d7bf600379f6a48622526f1db5cc8ec120a..b65d826201753d46b789ada05804f0d3b771d98b 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/NewLikelihoodToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/NewLikelihoodToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the NewLikelihoodTool configurable
-from JetTagTools.JetTagToolsConf import Analysis__NewLikelihoodTool
+Analysis__NewLikelihoodTool=CompFactory.Analysis__NewLikelihoodTool
 
 def NewLikelihoodToolCfg( flags, name = 'NewLikelihoodTool', taggername = 'IP2D', useBTagFlagsDefaults = True, **options):
     """Sets up a NewLikelihoodTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/RNNIPTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/RNNIPTagConfig.py
index 800906a960fcfe2657de55b37278037f5db8929a..b81b22b344a0ee5c2d0416ee69a162dddcab6c0f 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/RNNIPTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/RNNIPTagConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.BTagTrackToVertexIPEstimatorConfig import BTagTrackToVertexIPEstimatorCfg
 from JetTagTools.SVForIPToolConfig import SVForIPToolCfg
@@ -8,7 +9,7 @@ from JetTagTools.IPDetailedTrackGradeFactoryConfig import IPDetailedTrackGradeFa
 from JetTagTools.IPTrackSelectorConfig import IPTrackSelectorCfg
 
 # import the IPTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__RNNIPTag
+Analysis__RNNIPTag=CompFactory.Analysis__RNNIPTag
 
 def RNNIPTagCfg( flags, name = 'RNNIP', scheme = '', calibration=None, useBTagFlagsDefaults = True, **options ):
     """Sets up a RNNIPTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/SV1TagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/SV1TagConfig.py
index 52f5003498d8c7af68083db501eb3d559d5edeea..940d9a91e216052c32d802230adf7f2b7b70811d 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/SV1TagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/SV1TagConfig.py
@@ -1,11 +1,12 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.NewLikelihoodToolConfig import NewLikelihoodToolCfg
 
 # import the SVTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__SVTag
+Analysis__SVTag=CompFactory.Analysis__SVTag
 
 def SV1TagCfg( flags, name = 'SV1Tag', scheme = '', useBTagFlagsDefaults = True, **options ):
     """Sets up a SV1Tag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/SVForIPToolConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/SVForIPToolConfig.py
index b1191eb8b2f84748ddf87b0f39125d5275a43481..00d6c3874015f80a3c073471d5f2a65faa50e524 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/SVForIPToolConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/SVForIPToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the SVForIPTool configurable
-from JetTagTools.JetTagToolsConf import Analysis__SVForIPTool
+Analysis__SVForIPTool=CompFactory.Analysis__SVForIPTool
 
 def SVForIPToolCfg( name = 'SVForIPTool', **options ):
     """Sets up a SVForIPTool tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/SoftMuonTagConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/SoftMuonTagConfig.py
index 0ec0c4cd6f5cc4780f5cd9394c4e5e72831262fe..6051780bc599f7ee010ea48c91e29bca4ba4fe57 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/SoftMuonTagConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/SoftMuonTagConfig.py
@@ -1,13 +1,14 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from BTagging.BTaggingFlags import BTaggingFlags
 from JetTagTools.BTagTrackToVertexIPEstimatorConfig import BTagTrackToVertexIPEstimatorCfg
 from JetTagTools.NewLikelihoodToolConfig import NewLikelihoodToolCfg
 from JetTagTools.MuonSelectorToolConfig import MuonSelectorToolCfg
 
 # import the SoftMuonTag configurable
-from JetTagTools.JetTagToolsConf import Analysis__SoftMuonTag
+Analysis__SoftMuonTag=CompFactory.Analysis__SoftMuonTag
 
 def SoftMuonTagCfg( flags, name = 'SoftMu', useBTagFlagsDefaults = True, **options ):
     """Sets up a SoftMuonTag tool and returns it.
diff --git a/PhysicsAnalysis/JetTagging/JetTagTools/python/SpecialTrackAssociatorConfig.py b/PhysicsAnalysis/JetTagging/JetTagTools/python/SpecialTrackAssociatorConfig.py
index c2f82895d37b8d0c675a9d650b09a31a86d6d146..8bae9502fa8eca30a1c7723de700f6ebfdae255f 100644
--- a/PhysicsAnalysis/JetTagging/JetTagTools/python/SpecialTrackAssociatorConfig.py
+++ b/PhysicsAnalysis/JetTagging/JetTagTools/python/SpecialTrackAssociatorConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 # import the TrackToVertexIPEstimator configurable
-from TrackVertexAssociationTool.TrackVertexAssociationToolConf import CP__TrackVertexAssociationTool
+CP__TrackVertexAssociationTool=CompFactory.CP__TrackVertexAssociationTool
 
 def SpecialTrackAssociatorCfg( name = 'SpecialTrackAssociator', useBTagFlagsDefaults = True, **options ):
     """Sets up a SpecialTrackAssociator tool and returns it.
diff --git a/PhysicsAnalysis/MCTruthClassifier/python/MCTruthClassifierConfig.py b/PhysicsAnalysis/MCTruthClassifier/python/MCTruthClassifierConfig.py
index 0a7a1c8f7751e45c8fbf4a686c2e8630c461c4c0..03e08f70bc40ab64244bf4bf83b39012995d5462 100644
--- a/PhysicsAnalysis/MCTruthClassifier/python/MCTruthClassifierConfig.py
+++ b/PhysicsAnalysis/MCTruthClassifier/python/MCTruthClassifierConfig.py
@@ -4,7 +4,8 @@ __doc__ = "Tool configuration to instantiate MCTruthClassifier with default conf
 
 #---------------------------------------
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from MCTruthClassifier.MCTruthClassifierConf import MCTruthClassifier
+from AthenaConfiguration.ComponentFactory import CompFactory
+MCTruthClassifier=CompFactory.MCTruthClassifier
 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
 
 def MCTruthClassifierCfg(flags, **kwargs):
diff --git a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecUtils.py b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecUtils.py
index 67d7bd6d629c75f96a0e407f635e1b3b0dc3b3f3..21fc03c15bba0f99c5f9abe56212d0887d5d0ead 100644
--- a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecUtils.py
+++ b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecUtils.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 from HIJetRec.HIJetRecFlags import HIJetFlags
+from AthenaConfiguration.ComponentFactory import CompFactory
 from HIJetRec.HIJetRecTools import jtm
 from JetRec.JetRecFlags import jetFlags
 
@@ -48,7 +49,7 @@ def HIClusterGetter(tower_key="CombinedTower", cell_key="AllCalo", cluster_key="
 
     if cluster_key == "" : cluster_key=HIJetFlags.HIClusterKey()
 
-    from HIJetRec.HIJetRecConf import HIClusterMaker
+    HIClusterMaker=CompFactory.HIClusterMaker
     theAlg=HIClusterMaker()
     theAlg.InputTowerKey=tower_key
     theAlg.CaloCellContainerKey=cell_key
@@ -81,15 +82,15 @@ def AddPtAssociationTools(R, doTracks=True) :
     if doTracks and jetFlags.useTracks(): 
         cname=HIJetFlags.TrackJetContainerName()
         tname='hitrackassoc_04'
-        if not tname in jtm.tools:
-            from JetMomentTools.JetMomentToolsConf import JetPtAssociationTool
+        if tname not in jtm.tools:
+            JetPtAssociationTool=CompFactory.JetPtAssociationTool
             jtm.add(JetPtAssociationTool(tname, InputContainer=cname, AssociationName="GhostTrack"))
         tlist += [ jtm.tools[tname] ]
     if jetFlags.useTruth(): 
         cname='AntiKt%dTruthJets' % int(10*R)
         tname='truthassoc_0%d' % int(10*R)
-        if not tname in jtm.tools:
-            from JetMomentTools.JetMomentToolsConf import JetPtAssociationTool
+        if tname not in jtm.tools:
+            JetPtAssociationTool=CompFactory.JetPtAssociationTool
             jtm.add(JetPtAssociationTool(tname, InputContainer=cname, AssociationName="GhostTruth"))
         tlist += [ jtm.tools[tname] ]
     return tlist
@@ -106,7 +107,7 @@ def MakeModulatorTool(mod_key, **kwargs) :
     if(len(harmonics)==0) : return GetNullModulator()
     if hasattr(jtm,tname) : return getattr(jtm,tname)
 
-    from HIJetRec.HIJetRecConf import HIUEModulatorTool
+    HIUEModulatorTool=CompFactory.HIUEModulatorTool
     mod=HIUEModulatorTool(tname)
     mod.EventShapeKey=mod_key
     for n in [2,3,4] :
@@ -118,9 +119,9 @@ def MakeModulatorTool(mod_key, **kwargs) :
     return mod
 
 def MakeSubtractionTool(shapeKey, moment_name='', momentOnly=False, **kwargs) : 
-    from HIJetRec.HIJetRecConf import HIJetConstituentSubtractionTool
+    HIJetConstituentSubtractionTool=CompFactory.HIJetConstituentSubtractionTool
     suffix=shapeKey
-    if momentOnly : suffix+='_'+moment_name;
+    if momentOnly : suffix+='_'+moment_name
 
     if 'modulator' in kwargs.keys() : mod_tool=kwargs['modulator']
     else : mod_tool=GetNullModulator()
@@ -147,7 +148,7 @@ def ApplySubtractionToClusters(**kwargs) :
     if 'modulator' in kwargs.keys() : mod_tool=kwargs['modulator']
     else : mod_tool=GetNullModulator()
 
-    from HIJetRec.HIJetRecConf import HIClusterSubtraction
+    HIClusterSubtraction=CompFactory.HIClusterSubtraction
     toolName='HIClusterSubtraction'
     if 'name' in kwargs.keys() : toolName = kwargs['name']
     theAlg=HIClusterSubtraction(toolName)
@@ -159,7 +160,7 @@ def ApplySubtractionToClusters(**kwargs) :
     do_cluster_moments=False
     if 'CalculateMoments' in kwargs.keys() : do_cluster_moments=kwargs['CalculateMoments']
     if do_cluster_moments :
-        from CaloRec.CaloRecConf import CaloClusterMomentsMaker
+        CaloClusterMomentsMaker=CompFactory.CaloClusterMomentsMaker
         from CaloTools.CaloNoiseToolDefault import CaloNoiseToolDefault
         theCaloNoiseTool = CaloNoiseToolDefault()
         from AthenaCommon.AppMgr import ToolSvc
@@ -215,12 +216,12 @@ def AddIteration(seed_container,shape_name, **kwargs) :
     if remodulate :
         if 'modulator' in kwargs.keys() : mod_tool=kwargs['modulator']
         else : 
-            mod_shape_name=BuildHarmonicName(out_shape_name,**kwargs)
+            mod_shape_key=BuildHarmonicName(out_shape_name,**kwargs)
             mod_tool=MakeModulatorTool(mod_shape_key,**kwargs)
 
  
     assoc_name=jtm.HIJetDRAssociation.AssociationName
-    from HIJetRec.HIJetRecConf import HIEventShapeJetIteration
+    HIEventShapeJetIteration=CompFactory.HIEventShapeJetIteration
     iter_tool=HIEventShapeJetIteration('HIJetIteration_%s' % out_shape_name )
     
     iter_tool.InputEventShapeKey=shape_name
@@ -247,11 +248,11 @@ def JetAlgFromTools(rtools, suffix="HI",persistify=True) :
     #if jetFlags.useCells():  HIJet_exe_tools += [jtm.missingcells]
     if HIJetFlags.UseHITracks() : HIJet_exe_tools += [jtm.tracksel_HI,jtm.gtracksel_HI,jtm.tvassoc_HI]
     rtools=HIJet_exe_tools+rtools
-    from JetRec.JetRecConf import JetToolRunner
+    JetToolRunner=CompFactory.JetToolRunner
     runner=JetToolRunner("jetrun"+suffix, Tools=rtools, Timer=jetFlags.timeJetToolRunner())
     jtm.add(runner)
     
-    from JetRec.JetRecConf import JetAlgorithm
+    JetAlgorithm=CompFactory.JetAlgorithm
     theAlg=JetAlgorithm("jetalg"+suffix)
     theAlg.Tools = [runner]
     from AthenaCommon.AlgSequence import AlgSequence
@@ -293,7 +294,7 @@ def BuildHarmonicName(shape_key, **kwargs) :
 def GetNullModulator() :
     tname='NullUEModulator'
     if hasattr(jtm,tname) : return getattr(jtm,tname)
-    from HIJetRec.HIJetRecConf import HIUEModulatorTool
+    HIUEModulatorTool=CompFactory.HIUEModulatorTool
     mod=HIUEModulatorTool(tname)
     mod.EventShapeKey='NULL'
     for n in [2,3,4] : setattr(mod,'DoV%d' % n,False)
@@ -335,12 +336,12 @@ def GetSubtractorTool(**kwargs) :
 
     if useClusters : 
         if not hasattr(jtm,"HIJetClusterSubtractor") : 
-            from HIJetRec.HIJetRecConf import HIJetClusterSubtractorTool
+            HIJetClusterSubtractorTool=CompFactory.HIJetClusterSubtractorTool
             jtm.add(HIJetClusterSubtractorTool("HIJetClusterSubtractor"))
         return jtm.HIJetClusterSubtractor
     else:
         if not hasattr(jtm,"HIJetCellSubtractor") : 
-            from HIJetRec.HIJetRecConf import HIJetCellSubtractorTool
+            HIJetCellSubtractorTool=CompFactory.HIJetCellSubtractorTool
             jtm.add(HIJetCellSubtractorTool("HIJetCellSubtractor"))
         return jtm.HIJetCellSubtractor
 
diff --git a/Reconstruction/RecoTools/TrackToCalo/python/TrackToCaloConfig.py b/Reconstruction/RecoTools/TrackToCalo/python/TrackToCaloConfig.py
index 7e2e18e4346fe2cfeee5cdc0884a4ef648024343..dc5ad8479fd6571f0cf24b5300dc17dcb17c431f 100644
--- a/Reconstruction/RecoTools/TrackToCalo/python/TrackToCaloConfig.py
+++ b/Reconstruction/RecoTools/TrackToCalo/python/TrackToCaloConfig.py
@@ -4,9 +4,10 @@ __doc__ = "Tool configuration for the track to calo tools."
 
 #---------------------------------------
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
-from TrackToCalo.TrackToCaloConf import Trk__ParticleCaloExtensionTool, Rec__ParticleCaloCellAssociationTool
+Trk__ParticleCaloExtensionTool, Rec__ParticleCaloCellAssociationTool=CompFactory.getComps("Trk__ParticleCaloExtensionTool","Rec__ParticleCaloCellAssociationTool",)
 
 def ParticleCaloExtensionToolCfg(flags, **kwargs):
     acc=ComponentAccumulator()
diff --git a/Reconstruction/eflowRec/python/PFHLTConfig.py b/Reconstruction/eflowRec/python/PFHLTConfig.py
index 541da95a4dd9710b4143adbc7193563e34707de7..b268c0eda6456f6790f861c79563251087780723 100644
--- a/Reconstruction/eflowRec/python/PFHLTConfig.py
+++ b/Reconstruction/eflowRec/python/PFHLTConfig.py
@@ -1,5 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 #---------------------------------------------------------------------------------#
@@ -47,13 +48,13 @@ def getPFTrackSelector(inputFlags,tracksin,verticesin):
     extrapcfg = AtlasExtrapolatorCfg(inputFlags)
     extrapolator = extrapcfg.popPrivateTools()
 
-    from TrackToCalo.TrackToCaloConf import Trk__ParticleCaloExtensionTool
+    Trk__ParticleCaloExtensionTool=CompFactory.Trk__ParticleCaloExtensionTool
     pcExtensionTool = Trk__ParticleCaloExtensionTool(Extrapolator=extrapolator)
 
-    from eflowRec.eflowRecConf import eflowTrackCaloExtensionTool
+    eflowTrackCaloExtensionTool=CompFactory.eflowTrackCaloExtensionTool
     TrackCaloExtensionTool=eflowTrackCaloExtensionTool(TrackCaloExtensionTool=pcExtensionTool)
 
-    from eflowRec.eflowRecConf import PFTrackSelector
+    PFTrackSelector=CompFactory.PFTrackSelector
     PFTrackSelector=PFTrackSelector("PFTrackSelector_HLT")
     PFTrackSelector.electronsName = ""
     PFTrackSelector.muonsName = ""
@@ -61,7 +62,7 @@ def getPFTrackSelector(inputFlags,tracksin,verticesin):
     PFTrackSelector.VertexContainer = verticesin
     PFTrackSelector.trackExtrapolatorTool = TrackCaloExtensionTool
 
-    from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool
+    InDet__InDetTrackSelectionTool=CompFactory.InDet__InDetTrackSelectionTool
     TrackSelectionTool = InDet__InDetTrackSelectionTool("PFTrackSelectionTool")
 
     TrackSelectionTool.CutLevel = "TightPrimary"
@@ -73,7 +74,7 @@ def getPFTrackSelector(inputFlags,tracksin,verticesin):
 
 def getPFClusterSelectorTool(clustersin,calclustersin):
 
-    from eflowRec.eflowRecConf import PFClusterSelectorTool
+    PFClusterSelectorTool=CompFactory.PFClusterSelectorTool
     PFClusterSelectorTool = PFClusterSelectorTool("PFClusterSelectorTool")
     PFClusterSelectorTool.clustersName = clustersin
     PFClusterSelectorTool.calClustersName = calclustersin
@@ -82,15 +83,15 @@ def getPFClusterSelectorTool(clustersin,calclustersin):
 
 def getPFCellLevelSelectionTool():
 
-    from eflowRec.eflowRecConf import PFCellLevelSubtractionTool
+    PFCellLevelSubtractionTool=CompFactory.PFCellLevelSubtractionTool
     PFCellLevelSubtractionTool = PFCellLevelSubtractionTool("PFCellLevelSubtractionTool")
 
-    from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss
+    eflowCellEOverPTool_mc12_JetETMiss=CompFactory.eflowCellEOverPTool_mc12_JetETMiss
 
     PFCellLevelSubtractionTool.eflowCellEOverPTool = eflowCellEOverPTool_mc12_JetETMiss()
     PFCellLevelSubtractionTool.nMatchesInCellLevelSubtraction = 1
 
-    from eflowRec.eflowRecConf import PFTrackClusterMatchingTool
+    PFTrackClusterMatchingTool=CompFactory.PFTrackClusterMatchingTool
     MatchingTool = PFTrackClusterMatchingTool("CalObjBldMatchingTool")
     MatchingTool_Pull_02 = PFTrackClusterMatchingTool("MatchingTool_Pull_02")
     MatchingTool_Pull_015 = PFTrackClusterMatchingTool("MatchingTool_Pull_015")
@@ -112,14 +113,14 @@ def getPFCellLevelSelectionTool():
     return PFCellLevelSubtractionTool
 
 def getPFRecoverSplitShowersTool():
-    from eflowRec.eflowRecConf import PFRecoverSplitShowersTool
+    PFRecoverSplitShowersTool=CompFactory.PFRecoverSplitShowersTool
     PFRecoverSplitShowersTool = PFRecoverSplitShowersTool("PFRecoverSplitShowersTool")
 
-    from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss
+    eflowCellEOverPTool_mc12_JetETMiss=CompFactory.eflowCellEOverPTool_mc12_JetETMiss
     PFRecoverSplitShowersTool.eflowCellEOverPTool = eflowCellEOverPTool_mc12_JetETMiss("eflowCellEOverPTool_mc12_JetETMiss_Recover")
     PFRecoverSplitShowersTool.useUpdated2015ChargedShowerSubtraction = False
 
-    from eflowRec.eflowRecConf import PFTrackClusterMatchingTool
+    PFTrackClusterMatchingTool=CompFactory.PFTrackClusterMatchingTool
     MatchingTool_Recover = PFTrackClusterMatchingTool()
     MatchingTool_Recover.TrackPositionType   = 'EM2EtaPhi' # str
     MatchingTool_Recover.ClusterPositionType = 'PlainEtaPhi' # str
@@ -131,10 +132,10 @@ def getPFRecoverSplitShowersTool():
 
 def getPFMomentCalculatorTool():
 
-    from eflowRec.eflowRecConf import PFMomentCalculatorTool
+    PFMomentCalculatorTool=CompFactory.PFMomentCalculatorTool
     PFMomentCalculatorTool = PFMomentCalculatorTool("PFMomentCalculatorTool")
 
-    from CaloRec.CaloRecConf import CaloClusterMomentsMaker
+    CaloClusterMomentsMaker=CompFactory.CaloClusterMomentsMaker
     PFClusterMomentsMaker = CaloClusterMomentsMaker("PFClusterMomentsMaker")
 
     from AthenaCommon.SystemOfUnits import deg
@@ -176,7 +177,7 @@ def getPFMomentCalculatorTool():
 
     PFMomentCalculatorTool.CaloClusterMomentsMaker = PFClusterMomentsMaker
 
-    from eflowRec.eflowRecConf import PFClusterCollectionTool
+    PFClusterCollectionTool=CompFactory.PFClusterCollectionTool
     PFClusterCollectionTool_default = PFClusterCollectionTool("PFClusterCollectionTool")
 
     PFMomentCalculatorTool.PFClusterCollectionTool = PFClusterCollectionTool_default
@@ -198,7 +199,7 @@ def PFCfg(inputFlags):
     #---------------------------------------------------------------------------------#
     # PFlowAlgorithm -- subtraction steps
 
-    from eflowRec.eflowRecConf import PFAlgorithm
+    PFAlgorithm=CompFactory.PFAlgorithm
     PFAlgorithm = PFAlgorithm("PFAlgorithm_HLT")
     PFAlgorithm.PFClusterSelectorTool = getPFClusterSelectorTool(inputFlags.eflowRec.RawClusterColl,
                                                                  inputFlags.eflowRec.CalClusterColl)
@@ -218,13 +219,13 @@ def PFCfg(inputFlags):
     #---------------------------------------------------------------------------------#
     # PFO creators here
 
-    from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm
+    PFOChargedCreatorAlgorithm=CompFactory.PFOChargedCreatorAlgorithm
     PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm")
     PFOChargedCreatorAlgorithm.PFOOutputName="HLTChargedParticleFlowObjects"
 
     result.addEventAlgo( PFOChargedCreatorAlgorithm )
 
-    from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm
+    PFONeutralCreatorAlgorithm=CompFactory.PFONeutralCreatorAlgorithm
     PFONeutralCreatorAlgorithm =  PFONeutralCreatorAlgorithm("PFONeutralCreatorAlgorithm")
     PFONeutralCreatorAlgorithm.PFOOutputName="HLTNeutralParticleFlowObjects"
     PFONeutralCreatorAlgorithm.DoClusterMoments=inputFlags.eflowRec.DoClusterMoments
diff --git a/Reconstruction/eflowRec/python/PFRun3Config.py b/Reconstruction/eflowRec/python/PFRun3Config.py
index f0624fa6df40c2085fb4fd718d84bcdd22597bb3..10a7534fef69050787b0feed596177c232a8a28d 100644
--- a/Reconstruction/eflowRec/python/PFRun3Config.py
+++ b/Reconstruction/eflowRec/python/PFRun3Config.py
@@ -1,22 +1,23 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def getPFTrackSelectorAlgorithm(inputFlags):
-    from eflowRec.eflowRecConf import PFTrackSelector
+    PFTrackSelector=CompFactory.PFTrackSelector
     PFTrackSelector=PFTrackSelector("PFTrackSelector")
 
     from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg    
-    from TrackToCalo.TrackToCaloConf import Trk__ParticleCaloExtensionTool
+    Trk__ParticleCaloExtensionTool=CompFactory.Trk__ParticleCaloExtensionTool
     extrapCfg = AtlasExtrapolatorCfg(inputFlags)
     pcExtensionTool = Trk__ParticleCaloExtensionTool(Extrapolator = extrapCfg.popPrivateTools())
 
-    from eflowRec.eflowRecConf import eflowTrackCaloExtensionTool
+    eflowTrackCaloExtensionTool=CompFactory.eflowTrackCaloExtensionTool
     TrackCaloExtensionTool=eflowTrackCaloExtensionTool(TrackCaloExtensionTool=pcExtensionTool)
     TrackCaloExtensionTool.PFParticleCache=""
     
     PFTrackSelector.trackExtrapolatorTool = TrackCaloExtensionTool
 
-    from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool
+    InDet__InDetTrackSelectionTool=CompFactory.InDet__InDetTrackSelectionTool
     TrackSelectionTool = InDet__InDetTrackSelectionTool("PFTrackSelectionTool")
 
     TrackSelectionTool.CutLevel = "TightPrimary"
@@ -27,7 +28,7 @@ def getPFTrackSelectorAlgorithm(inputFlags):
     return PFTrackSelector
 
 def getPFTrackClusterMatchingTool(inputFlags,matchCut,distanceType,clusterPositionType,name):
-    from eflowRec.eflowRecConf import PFTrackClusterMatchingTool
+    PFTrackClusterMatchingTool=CompFactory.PFTrackClusterMatchingTool
     MatchingTool = PFTrackClusterMatchingTool(name)
     MatchingTool.ClusterPositionType = clusterPositionType
     MatchingTool.DistanceType = distanceType
@@ -35,10 +36,10 @@ def getPFTrackClusterMatchingTool(inputFlags,matchCut,distanceType,clusterPositi
     return MatchingTool
     
 def getPFCellLevelSubtractionTool(inputFlags):
-    from eflowRec.eflowRecConf import PFCellLevelSubtractionTool
+    PFCellLevelSubtractionTool=CompFactory.PFCellLevelSubtractionTool
     PFCellLevelSubtractionTool = PFCellLevelSubtractionTool("PFCellLevelSubtractionTool")
     
-    from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss
+    eflowCellEOverPTool_mc12_JetETMiss=CompFactory.eflowCellEOverPTool_mc12_JetETMiss
     PFCellLevelSubtractionTool.eflowCellEOverPTool = eflowCellEOverPTool_mc12_JetETMiss()
 
     if(True is inputFlags.PF.EOverPMode):
@@ -58,10 +59,10 @@ def getPFCellLevelSubtractionTool(inputFlags):
     return PFCellLevelSubtractionTool
 
 def getPFRecoverSplitShowersTool(inputFlags):
-    from eflowRec.eflowRecConf import PFRecoverSplitShowersTool
+    PFRecoverSplitShowersTool=CompFactory.PFRecoverSplitShowersTool
     PFRecoverSplitShowersTool = PFRecoverSplitShowersTool("PFRecoverSplitShowersTool")
 
-    from eflowRec.eflowRecConf import eflowCellEOverPTool_mc12_JetETMiss
+    eflowCellEOverPTool_mc12_JetETMiss=CompFactory.eflowCellEOverPTool_mc12_JetETMiss
     PFRecoverSplitShowersTool.eflowCellEOverPTool = eflowCellEOverPTool_mc12_JetETMiss("eflowCellEOverPTool_mc12_JetETMiss_Recover")
 
     if (True is inputFlags.PF.recoverIsolatedTracks):
@@ -72,20 +73,20 @@ def getPFRecoverSplitShowersTool(inputFlags):
     return PFRecoverSplitShowersTool
 
 def getPFClusterSelectorTool():
-    from eflowRec.eflowRecConf import PFClusterSelectorTool
+    PFClusterSelectorTool=CompFactory.PFClusterSelectorTool
     PFClusterSelectorTool = PFClusterSelectorTool("PFClusterSelectorTool")
     PFClusterSelectorTool.clustersName="CaloTopoClusters"
 
     return PFClusterSelectorTool
 
 def getPFMomentCalculatorTool(inputFlags):
-    from eflowRec.eflowRecConf import PFMomentCalculatorTool
+    PFMomentCalculatorTool=CompFactory.PFMomentCalculatorTool
     PFMomentCalculatorTool = PFMomentCalculatorTool("PFMomentCalculatorTool")
 
     from CaloRec.CaloTopoClusterConfig import getTopoMoments
     PFMomentCalculatorTool.CaloClusterMomentsMaker = getTopoMoments(inputFlags)
 
-    from eflowRec.eflowRecConf import PFClusterCollectionTool
+    PFClusterCollectionTool=CompFactory.PFClusterCollectionTool
     PFMomentCalculatorTool.PFClusterCollectionTool = PFClusterCollectionTool("PFClusterCollectionTool")
 
     if(True is inputFlags.PF.useCalibHitTruthMoments):
@@ -96,10 +97,10 @@ def getPFMomentCalculatorTool(inputFlags):
     return PFMomentCalculatorTool
 
 def getPFLCCalibTool(inputFlags):
-    from eflowRec.eflowRecConf import PFLCCalibTool
+    PFLCCalibTool=CompFactory.PFLCCalibTool
     PFLCCalibTool = PFLCCalibTool("PFLCCalibTool")
 
-    from eflowRec.eflowRecConf import PFClusterCollectionTool
+    PFClusterCollectionTool=CompFactory.PFClusterCollectionTool
     PFLCCalibTool.eflowRecClusterCollectionTool = PFClusterCollectionTool("PFClusterCollectionTool_LCCalib")
     PFLCCalibTool.UseLocalWeight = False
 
@@ -115,7 +116,7 @@ def getPFLCCalibTool(inputFlags):
 
 def getPFAlgorithm(inputFlags):
 
-    from eflowRec.eflowRecConf import PFAlgorithm
+    PFAlgorithm=CompFactory.PFAlgorithm
     PFAlgorithm = PFAlgorithm("PFAlgorithm")   
     
     PFAlgorithm.PFClusterSelectorTool = getPFClusterSelectorTool()
@@ -131,12 +132,12 @@ def getPFAlgorithm(inputFlags):
     return PFAlgorithm
 
 def getPFOCreators(inputFlags):
-    from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm
+    PFOChargedCreatorAlgorithm=CompFactory.PFOChargedCreatorAlgorithm
     PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm")
     if(True is inputFlags.PF.EOverPMode):
         PFOChargedCreatorAlgorithm.PFOOutputName="EOverPChargedParticleFlowObjects"
 
-    from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm
+    PFONeutralCreatorAlgorithm=CompFactory.PFONeutralCreatorAlgorithm
     PFONeutralCreatorAlgorithm =  PFONeutralCreatorAlgorithm("PFONeutralCreatorAlgorithm")
     if(True is inputFlags.PF.EOverPMode):
         PFONeutralCreatorAlgorithm.PFOOutputName="EOverPNeutralParticleFlowObjects"
@@ -152,7 +153,7 @@ def PFCfg(inputFlags,**kwargs):
     #Some such items may be best placed elsewehere (e.g. put magnetic field setup in magnetic field git folder etc)
     result=ComponentAccumulator()
 
-    from StoreGate.StoreGateConf import StoreGateSvc
+    StoreGateSvc=CompFactory.StoreGateSvc
     result.addService(StoreGateSvc("DetectorStore"))
 
     #Alias calibrated topoclusters, if they exist already, such that overwrite won't fial
@@ -168,20 +169,20 @@ def PFCfg(inputFlags,**kwargs):
     result.merge(PixelGeometryCfg(inputFlags))
 
     #Setup Pixel conditions
-    from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelAlignCondAlg
+    PixelAlignCondAlg=CompFactory.PixelAlignCondAlg
     result.addCondAlgo(PixelAlignCondAlg(name = "PixelAlignCondAlg",UseDynamicAlignFolders = inputFlags.GeoModel.Align.Dynamic))
 
-    from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDetectorElementCondAlg
+    PixelDetectorElementCondAlg=CompFactory.PixelDetectorElementCondAlg
     result.addCondAlgo(PixelDetectorElementCondAlg(name = "PixelDetectorElementCondAlg"))
 
     #Setup SCT conditions
-    from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_AlignCondAlg
+    SCT_AlignCondAlg=CompFactory.SCT_AlignCondAlg
     result.addCondAlgo(SCT_AlignCondAlg(name = "SCT_AlignCondAlg",UseDynamicAlignFolders = inputFlags.GeoModel.Align.Dynamic))
 
-    from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DetectorElementCondAlg
+    SCT_DetectorElementCondAlg=CompFactory.SCT_DetectorElementCondAlg
     result.addCondAlgo(SCT_DetectorElementCondAlg(name = "SCT_DetectorElementCondAlg"))
 
-    from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc
+    GeometryDBSvc=CompFactory.GeometryDBSvc
     result.addService(GeometryDBSvc("InDetGeometryDBSvc"))
     
     from AthenaCommon import CfgGetter
@@ -189,7 +190,7 @@ def PFCfg(inputFlags,**kwargs):
     result.getService("GeoModelSvc").DetectorTools += [ CfgGetter.getPrivateTool("SCT_DetectorTool", checkType=True) ]
 
     #Setup TRT geometry
-    from TRT_GeoModel.TRT_GeoModelConf import TRT_DetectorTool
+    TRT_DetectorTool=CompFactory.TRT_DetectorTool
     trtDetectorTool = TRT_DetectorTool()
     #These two lines fix ATLASRECTS-5053. I expect eventually we can remove them, once the underlying issue is fixed.
     trtDetectorTool.DoXenonArgonMixture = False
@@ -197,7 +198,7 @@ def PFCfg(inputFlags,**kwargs):
     result.getService("GeoModelSvc").DetectorTools += [ trtDetectorTool ]
 
     #Setup up material for inner detector
-    from InDetServMatGeoModel.InDetServMatGeoModelConf import InDetServMatTool
+    InDetServMatTool=CompFactory.InDetServMatTool
     result.getService("GeoModelSvc").DetectorTools += [ InDetServMatTool() ]
     
     #Setup up tracking geometry
@@ -219,7 +220,7 @@ def PFCfg(inputFlags,**kwargs):
 
     iovDbSvc=result.getService("IOVDbSvc")
 
-    from MagFieldServices.MagFieldServicesConf import MagField__AtlasFieldSvc
+    MagField__AtlasFieldSvc=CompFactory.MagField__AtlasFieldSvc
     kwargs.setdefault( "UseDCS", True )
     result.addService(MagField__AtlasFieldSvc("AtlasFieldSvc",**kwargs))
 
@@ -238,7 +239,7 @@ def PFCfg(inputFlags,**kwargs):
     result.merge(CaloNoiseCondAlgCfg(inputFlags,"electronicNoise"))
 
     #Configure the pflow algorithms
-    from eflowRec.eflowRecConf import PFLeptonSelector
+    PFLeptonSelector=CompFactory.PFLeptonSelector
     result.addEventAlgo(PFLeptonSelector("PFLeptonSelector"))
     
     result.addEventAlgo(getPFTrackSelectorAlgorithm(inputFlags))
diff --git a/Reconstruction/eflowRec/python/ScheduleCHSPFlowMods.py b/Reconstruction/eflowRec/python/ScheduleCHSPFlowMods.py
index e33cf87c65e7965eb42f0bced844cdcf77b08512..cdccf254b89fe7821f1d074e4cb7bef0d9776594 100644
--- a/Reconstruction/eflowRec/python/ScheduleCHSPFlowMods.py
+++ b/Reconstruction/eflowRec/python/ScheduleCHSPFlowMods.py
@@ -1,3 +1,4 @@
+#Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 # ScheduleCHSPFlowMods.py
 #
 # Teng Jian Khoo
@@ -8,7 +9,8 @@
 
 
 from JetRec.JetRecStandard import jtm
-from JetRec.JetRecConf import JetToolRunner
+from AthenaConfiguration.ComponentFactory import CompFactory
+JetToolRunner=CompFactory.JetToolRunner
 jtm += JetToolRunner("jetconstitCHSPFlow",
                      EventShapeTools=[],
                      Tools=[jtm.JetConstitSeq_PFlowCHS],
@@ -17,11 +19,11 @@ jtm += JetToolRunner("jetconstitCHSPFlow",
 from AthenaCommon.AlgSequence import AlgSequence
 job = AlgSequence()
 
-from JetRec.JetRecConf import JetAlgorithm
+JetAlgorithm=CompFactory.JetAlgorithm
 job += JetAlgorithm("jetalgCHSPFlow",
                     Tools=[jtm.jetconstitCHSPFlow])
 
-from ThinningUtils.ThinningUtilsConf import ThinNegativeEnergyNeutralPFOsAlg
+ThinNegativeEnergyNeutralPFOsAlg=CompFactory.ThinNegativeEnergyNeutralPFOsAlg
 CHSnPFOsThinAlg = ThinNegativeEnergyNeutralPFOsAlg(
     "ThinNegativeEnergyNCHSeutralPFOsAlg",
     NeutralPFOsKey="CHSNeutralParticleFlowObjects",
diff --git a/Reconstruction/egamma/egammaAlgs/python/EMGSFCaloExtensionBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/EMGSFCaloExtensionBuilderConfig.py
index a1f22a7a9560cc91af905f30046785794737e861..ad5fae0a1be62ca7690b97a290e72014254dac15 100644
--- a/Reconstruction/egamma/egammaAlgs/python/EMGSFCaloExtensionBuilderConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/EMGSFCaloExtensionBuilderConfig.py
@@ -3,9 +3,10 @@
 __doc__ = "Instantiate the EMGSFCaloExtensionBuilder with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
-from egammaAlgs.egammaAlgsConf import EMGSFCaloExtensionBuilder
+EMGSFCaloExtensionBuilder=CompFactory.EMGSFCaloExtensionBuilder
 
 
 def EMGSFCaloExtensionBuilderCfg(flags, name='EMGSFCaloExtensionBuilder', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaForwardBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaForwardBuilderConfig.py
index b417140b0650400d228a377884a4c9bdc09a90e6..0f3c09cd6365cf0dd44bf21c0e73ab0168d5d080 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaForwardBuilderConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaForwardBuilderConfig.py
@@ -2,11 +2,12 @@
 
 import cppyy
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from egammaTools.egammaOQFlagsBuilderConfig import egammaOQFlagsBuilderCfg
-from egammaTools.egammaToolsConf import EMFourMomBuilder
+EMFourMomBuilder=CompFactory.EMFourMomBuilder
 from ElectronPhotonSelectorTools.AsgForwardElectronIsEMSelectorsConfig import AsgForwardElectronIsEMSelectorCfg
-from egammaAlgs.egammaAlgsConf import egammaForwardBuilder
+egammaForwardBuilder=CompFactory.egammaForwardBuilder
 from ROOT import egammaPID
 
 cppyy.loadDictionary('ElectronPhotonSelectorToolsDict')
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaLargeClusterMakerAlgConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaLargeClusterMakerAlgConfig.py
index 773d87d05c5fa2c6100b98d29349910ae80bd290..0436e5b6d8a8a13707b79c26836cdcff1919e699 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaLargeClusterMakerAlgConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaLargeClusterMakerAlgConfig.py
@@ -4,9 +4,10 @@ __doc__ = "Configure egammaLargeClusterMaker, which chooses cells to store in th
 __author__ = "Jovan Mitrevski"
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from egammaTools.egammaLargeClusterMakerConfig import egammaLargeClusterMakerCfg
 from CaloClusterCorrection.CaloSwCorrections import make_CaloSwCorrections
-from CaloRec.CaloRecConf import CaloClusterMaker
+CaloClusterMaker=CompFactory.CaloClusterMaker
 
 def egammaLargeClusterMakerAlgCfg(flags, name = "egammaLargeClusterMaker", **kwargs):
 
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaRecBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaRecBuilderConfig.py
index 643d5d981ff13c96470e20d4e1c230efe6d350ae..71d40ce6798b73a9d99626ec08994124d11a5143 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaRecBuilderConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaRecBuilderConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Instantiate egammaRecBuilder with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from egammaTools.EMTrackMatchBuilderConfig import EMTrackMatchBuilderCfg
 from egammaTools.EMConversionBuilderConfig import EMConversionBuilderCfg
-from egammaAlgs.egammaAlgsConf import egammaRecBuilder
+egammaRecBuilder=CompFactory.egammaRecBuilder
 
 
 def egammaRecBuilderCfg(flags, name='egammaRecBuilder', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py
index f5e60230a93d303a20fd15b84ca0012361a3b6f5..9b9b9089734a7b278d83176d88ed7d3fbda8f3f3 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Instantiate egammaSelectedTrackCopy with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaCaloTools.egammaCaloToolsConf import egammaCaloClusterSelector
+egammaCaloClusterSelector=CompFactory.egammaCaloClusterSelector
 from egammaTrackTools.egammaTrackToolsConfig import EMExtrapolationToolsCfg
-from egammaAlgs.egammaAlgsConf import egammaSelectedTrackCopy
+egammaSelectedTrackCopy=CompFactory.egammaSelectedTrackCopy
 
 
 def egammaSelectedTrackCopyCfg(flags, name='egammaSelectedTrackCopy', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaTopoClusterCopierConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaTopoClusterCopierConfig.py
index 9afc1fc58c92199343e60684133d4234bc7c384d..2424f0eeb34459148cc438e5b47b96b666a505b2 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaTopoClusterCopierConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaTopoClusterCopierConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Instantiate egammaTopoClusterCopier with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaAlgs.egammaAlgsConf import egammaTopoClusterCopier
+egammaTopoClusterCopier=CompFactory.egammaTopoClusterCopier
 
 
 def egammaTopoClusterCopierCfg(flags, name='egammaTopoClusterCopier', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaTrackSlimmerConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaTrackSlimmerConfig.py
index 28d273fea2e67265aaf60751facc08265d7c3d8c..a7f3ed03db4bedab249f847bf75905615768bafa 100755
--- a/Reconstruction/egamma/egammaAlgs/python/egammaTrackSlimmerConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaTrackSlimmerConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaAlgs.egammaAlgsConf import egammaTrackSlimmer
+egammaTrackSlimmer=CompFactory.egammaTrackSlimmer
 
 
 def egammaTrackSlimmerCfg(flags, name='egammaTrackSlimmer', **kwargs):
diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaTruthAssociationConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaTruthAssociationConfig.py
index 1450203b19cb6b05078bbeb8776e5d27878ddd5e..effa519afea4e57bc2d33ed68aa2f74e21380164 100644
--- a/Reconstruction/egamma/egammaAlgs/python/egammaTruthAssociationConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/egammaTruthAssociationConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Configure egammaTruthAssociation"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaAlgs.egammaAlgsConf import egammaTruthAssociationAlg
+egammaTruthAssociationAlg=CompFactory.egammaTruthAssociationAlg
 from MCTruthClassifier.MCTruthClassifierConfig import MCTruthClassifierCaloTruthMatchCfg
 
 
diff --git a/Reconstruction/egamma/egammaAlgs/python/topoEgammaBuilderConfig.py b/Reconstruction/egamma/egammaAlgs/python/topoEgammaBuilderConfig.py
index 1a9795986c993604308d511abd465f53e73a6a43..9d6f6725e5e6d48d2fb53a0f1c27ea74a4a796d3 100644
--- a/Reconstruction/egamma/egammaAlgs/python/topoEgammaBuilderConfig.py
+++ b/Reconstruction/egamma/egammaAlgs/python/topoEgammaBuilderConfig.py
@@ -3,9 +3,10 @@
 __doc__ = "Instantiate the two supercluster builders with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaAlgs.egammaAlgsConf import topoEgammaBuilder
-from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import EGammaAmbiguityTool
+topoEgammaBuilder=CompFactory.topoEgammaBuilder
+EGammaAmbiguityTool=CompFactory.EGammaAmbiguityTool
 
 
 def topoEgammaBuilderCfg(flags, name='topoEgammaBuilder', **kwargs):
diff --git a/Reconstruction/egamma/egammaCaloTools/python/egammaCaloToolsConfig.py b/Reconstruction/egamma/egammaCaloTools/python/egammaCaloToolsConfig.py
index f7418e3d0d565b6f51f3ef855701505d0f1dcda1..269cf7d4babdc5289604e43a6cb1115a38eb2dd0 100644
--- a/Reconstruction/egamma/egammaCaloTools/python/egammaCaloToolsConfig.py
+++ b/Reconstruction/egamma/egammaCaloTools/python/egammaCaloToolsConfig.py
@@ -4,11 +4,12 @@ __doc__ = "Tool configuration to instantiate all egammaCaloTools with default co
 
 #---------------------------------------
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def CaloFillRectangularClusterCfg(flags):
     result=ComponentAccumulator()
 
-    from CaloClusterCorrection.CaloClusterCorrectionConf import CaloFillRectangularCluster
+    CaloFillRectangularCluster=CompFactory.CaloFillRectangularCluster
     caloFillRectangularCluster = CaloFillRectangularCluster(eta_size = 5,
                                                             phi_size = 7,
                                                             cells_name = flags.Egamma.Keys.Input.CaloCells)
diff --git a/Reconstruction/egamma/egammaMVACalib/python/TrigEgammaMVACalibConfig.py b/Reconstruction/egamma/egammaMVACalib/python/TrigEgammaMVACalibConfig.py
index af625b6b4953beb8babd66d0082c58f405f54e83..d90f132bbc00cc5c4195b787f710cf54f7f4b3ba 100644
--- a/Reconstruction/egamma/egammaMVACalib/python/TrigEgammaMVACalibConfig.py
+++ b/Reconstruction/egamma/egammaMVACalib/python/TrigEgammaMVACalibConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaMVACalib.egammaMVACalibConf import egammaMVACalibTool, egammaMVASvc
+egammaMVACalibTool, egammaMVASvc=CompFactory.getComps("egammaMVACalibTool","egammaMVASvc",)
 from ROOT import xAOD
 import cppyy
 cppyy.loadDictionary('xAODEgammaDict')
diff --git a/Reconstruction/egamma/egammaMVACalib/python/egammaMVACalibConfig.py b/Reconstruction/egamma/egammaMVACalib/python/egammaMVACalibConfig.py
index b186d5d2eb40f36162d559d5a9624e76d4494605..3476444889bf35c78f89b5166cc1e57103410f0e 100644
--- a/Reconstruction/egamma/egammaMVACalib/python/egammaMVACalibConfig.py
+++ b/Reconstruction/egamma/egammaMVACalib/python/egammaMVACalibConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaMVACalib.egammaMVACalibConf import egammaMVACalibTool, egammaMVASvc
+egammaMVACalibTool, egammaMVASvc=CompFactory.getComps("egammaMVACalibTool","egammaMVASvc",)
 from ROOT import xAOD
 import cppyy
 cppyy.loadDictionary('xAODEgammaDict')
diff --git a/Reconstruction/egamma/egammaTools/python/EMConversionBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/EMConversionBuilderConfig.py
index cb4832e257403f47497e132e0fc6e5c4bb81b111..bcd512cc6c6b28a1cb484226d337a0a9247775fc 100644
--- a/Reconstruction/egamma/egammaTools/python/EMConversionBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/EMConversionBuilderConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Configure the electron and photon selectors."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import EMConversionBuilder
+EMConversionBuilder=CompFactory.EMConversionBuilder
 from egammaTrackTools.egammaTrackToolsConfig import EMExtrapolationToolsCfg
 
 
diff --git a/Reconstruction/egamma/egammaTools/python/EMPIDBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/EMPIDBuilderConfig.py
index 172ad006999a15549a107f1d46a71173c893c6d2..a3b08875e879d2e39303e029418e6f3673e7747b 100755
--- a/Reconstruction/egamma/egammaTools/python/EMPIDBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/EMPIDBuilderConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Configure the electron and photon selectors."
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import EMPIDBuilder
+EMPIDBuilder=CompFactory.EMPIDBuilder
 from ROOT import egammaPID
 import cppyy
 cppyy.loadDictionary('ElectronPhotonSelectorToolsDict')
@@ -52,7 +53,7 @@ def EMPIDBuilderElectronCfg(flags, name='EMPIDBuilderElectron', **kwargs):
         acc.merge(TightLHSelectorAcc)
 
     # Multi Lepton
-    from ElectronPhotonSelectorTools.ElectronPhotonSelectorToolsConf import AsgElectronMultiLeptonSelector
+    AsgElectronMultiLeptonSelector=CompFactory.AsgElectronMultiLeptonSelector
     if "genericIsEMselectors" not in kwargs:
         MultiLeptonSelector = AsgElectronMultiLeptonSelector("MultiLeptonSelector")
         kwargs["genericIsEMselectors"] = [MultiLeptonSelector]
diff --git a/Reconstruction/egamma/egammaTools/python/EMShowerBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/EMShowerBuilderConfig.py
index 723478993f277a866695a2f4975e412a99cb9845..7e6a227b64de77602014cadb143ee001305e2e1b 100644
--- a/Reconstruction/egamma/egammaTools/python/EMShowerBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/EMShowerBuilderConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "ToolFactory to instantiate all EMShowerBuilder with default configuration"
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaCommon.Logging import logging
-from egammaTools.egammaToolsConf import EMShowerBuilder
-from egammaCaloTools.egammaCaloToolsConf import egammaIso, egammaShowerShape
+EMShowerBuilder=CompFactory.EMShowerBuilder
+egammaIso, egammaShowerShape=CompFactory.getComps("egammaIso","egammaShowerShape",)
 from CaloIdentifier import SUBCALO
 
 
diff --git a/Reconstruction/egamma/egammaTools/python/EMTrackMatchBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/EMTrackMatchBuilderConfig.py
index 76a7e42a6c12d5e108d9dff428b5ee7afab16f8f..ea2b4e11a9bf1dd8115b082dc2791ffc2b375560 100644
--- a/Reconstruction/egamma/egammaTools/python/EMTrackMatchBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/EMTrackMatchBuilderConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Instantiate EMTrackMatchBuilder with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import EMTrackMatchBuilder
+EMTrackMatchBuilder=CompFactory.EMTrackMatchBuilder
 from egammaTrackTools.egammaTrackToolsConfig import EMExtrapolationToolsCacheCfg
 
 
diff --git a/Reconstruction/egamma/egammaTools/python/egammaLargeClusterMakerConfig.py b/Reconstruction/egamma/egammaTools/python/egammaLargeClusterMakerConfig.py
index 02ebc32f8e6cb5bdc4588bd97e35ab84db64941b..5f40a6976d7170d43c408673a6630f3b1a10ba80 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaLargeClusterMakerConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaLargeClusterMakerConfig.py
@@ -4,7 +4,8 @@ __doc__ = "Configure egammaLargeClusterMaker, which chooses cells to store in th
 __author__ = "Jovan Mitrevski"
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import egammaLargeClusterMaker
+from AthenaConfiguration.ComponentFactory import CompFactory
+egammaLargeClusterMaker=CompFactory.egammaLargeClusterMaker
 
 def egammaLargeClusterMakerCfg(flags, **kwargs):
 
diff --git a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilderConfig.py b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilderConfig.py
index fdefedd4d6f7a35db31e555e9d2f72c4f860795e..b394f9fd50b46f7eab0308a4c88b730b01b1a517 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilderConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilderConfig.py
@@ -3,9 +3,10 @@
 __doc__ = "Configure e/gamma object quality"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import egammaOQFlagsBuilder
-from CaloTools.CaloToolsConf import CaloAffectedTool
+egammaOQFlagsBuilder=CompFactory.egammaOQFlagsBuilder
+CaloAffectedTool=CompFactory.CaloAffectedTool
 
 
 def egammaOQFlagsBuilderCfg(flags, name='egammaOQFlagsBuilder', **kwargs):
diff --git a/Reconstruction/egamma/egammaTools/python/egammaSwToolConfig.py b/Reconstruction/egamma/egammaTools/python/egammaSwToolConfig.py
index 92293316d726796fbfefed4767207995fc9bf3e0..62c9f39b55fe5045abb05e0345d2cb75122d21aa 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaSwToolConfig.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaSwToolConfig.py
@@ -3,8 +3,9 @@
 __doc__ = "Configure cluster correction"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from egammaTools.egammaToolsConf import egammaSwTool
+egammaSwTool=CompFactory.egammaSwTool
 
 import six
 
diff --git a/Reconstruction/egamma/egammaTrackTools/python/egammaTrackToolsConfig.py b/Reconstruction/egamma/egammaTrackTools/python/egammaTrackToolsConfig.py
index a62eef461882ea683d0a46eb6deefb41bad30742..15b04b408f39c54c216a1e0949f8cb401739f551 100644
--- a/Reconstruction/egamma/egammaTrackTools/python/egammaTrackToolsConfig.py
+++ b/Reconstruction/egamma/egammaTrackTools/python/egammaTrackToolsConfig.py
@@ -3,10 +3,11 @@
 __doc__ = "Tool configuration to instantiate all egammaCaloTools with default configuration"
 
 from AthenaCommon.Logging import logging
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from TrkExTools.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
-from egammaTrackTools.egammaTrackToolsConf import EMExtrapolationTools
+EMExtrapolationTools=CompFactory.EMExtrapolationTools
 
 def EMExtrapolationToolsCfg(flags, **kwargs):
 
diff --git a/Simulation/Barcode/BarcodeServices/python/BarcodeServicesConfigNew.py b/Simulation/Barcode/BarcodeServices/python/BarcodeServicesConfigNew.py
index 3249a37ecbf056130abf812725197cb926a58f84..04c3e25d82c22c6a9fe1f71c2ddfce2e3727a434 100644
--- a/Simulation/Barcode/BarcodeServices/python/BarcodeServicesConfigNew.py
+++ b/Simulation/Barcode/BarcodeServices/python/BarcodeServicesConfigNew.py
@@ -6,8 +6,9 @@ Elmar Ritsch, 23/10/2014
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from BarcodeServices.BarcodeServicesConf import Barcode__LegacyBarcodeSvc
+Barcode__LegacyBarcodeSvc=CompFactory.Barcode__LegacyBarcodeSvc
 
 #Functions yet to be migrated:
 #getMC15BarcodeSvc, getMC18BarcodeSvc, getMC18LLPBarcodeSvc, getPhysicsProcessBarcodeSvc, getMC15BarcodeSvc, getGlobalBarcodeSvc, getValidationBarcodeSvc, barcodeOffsetForTruthStrategy
diff --git a/Simulation/BeamEffects/python/BeamEffectsAlgConfig.py b/Simulation/BeamEffects/python/BeamEffectsAlgConfig.py
index 52facc3d5fd346bdb0556a21071b8215f2bb73a4..97f4eae6ed29ce19cc3855ad55a1d6a777f38c0e 100755
--- a/Simulation/BeamEffects/python/BeamEffectsAlgConfig.py
+++ b/Simulation/BeamEffects/python/BeamEffectsAlgConfig.py
@@ -4,17 +4,18 @@
 
 """Define methods to configure beam effects with the ComponentAccumulator"""
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 # Compiled beam effects methods
 # for documentation of method X, see Simulation__X._propertyDocDct
-from BeamEffects.BeamEffectsConf import Simulation__GenEventValidityChecker
-from BeamEffects.BeamEffectsConf import Simulation__GenEventRotator
-from BeamEffects.BeamEffectsConf import Simulation__GenEventVertexPositioner
-from BeamEffects.BeamEffectsConf import Simulation__VertexBeamCondPositioner
-from BeamEffects.BeamEffectsConf import Simulation__VertexPositionFromFile
-from BeamEffects.BeamEffectsConf import Simulation__CrabKissingVertexPositioner
-from BeamEffects.BeamEffectsConf import Simulation__LongBeamspotVertexPositioner
+Simulation__GenEventValidityChecker=CompFactory.Simulation__GenEventValidityChecker
+Simulation__GenEventRotator=CompFactory.Simulation__GenEventRotator
+Simulation__GenEventVertexPositioner=CompFactory.Simulation__GenEventVertexPositioner
+Simulation__VertexBeamCondPositioner=CompFactory.Simulation__VertexBeamCondPositioner
+Simulation__VertexPositionFromFile=CompFactory.Simulation__VertexPositionFromFile
+Simulation__CrabKissingVertexPositioner=CompFactory.Simulation__CrabKissingVertexPositioner
+Simulation__LongBeamspotVertexPositioner=CompFactory.Simulation__LongBeamspotVertexPositioner
 # For the Algorithm
-from BeamEffects.BeamEffectsConf import Simulation__BeamEffectsAlg
+Simulation__BeamEffectsAlg=CompFactory.Simulation__BeamEffectsAlg
 
 
 # possible components from BeamEffectsConf
@@ -61,7 +62,7 @@ def makeVertexBeamCondPositioner(ConfigFlags,name="VertexBeamCondPositioner", **
     """Return a conditional (? todo) vertex positioner tool"""
     # todo needs RandomSvc
     from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
-    from BeamSpotConditions.BeamSpotConditionsConf import BeamSpotCondAlg
+    BeamSpotCondAlg=CompFactory.BeamSpotCondAlg
     from RngComps.RandomServices import AthEngines
 
     result = ComponentAccumulator()
diff --git a/Simulation/Digitization/python/PileUpToolsConfig.py b/Simulation/Digitization/python/PileUpToolsConfig.py
index 7ec6149e8fe58b21658e7f7ad668876c44ebb55b..cbb73ab792c1905f7c371e65c3ae168bf4ac67bb 100644
--- a/Simulation/Digitization/python/PileUpToolsConfig.py
+++ b/Simulation/Digitization/python/PileUpToolsConfig.py
@@ -3,7 +3,8 @@
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from PileUpComps.PileUpCompsConf import PileUpToolsAlg, DigitizationAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
+PileUpToolsAlg, DigitizationAlg=CompFactory.getComps("PileUpToolsAlg","DigitizationAlg")
 
 
 def PileUpToolsCfg(flags, name="StandardPileUpToolsAlg", **kwargs):
diff --git a/Simulation/FastShower/FastCaloSim/python/AddNoiseCellBuilderToolConfig.py b/Simulation/FastShower/FastCaloSim/python/AddNoiseCellBuilderToolConfig.py
index c0931c1faf8aac87f2f4f082c073ca58ae6cefe8..313eaddfef4efff6f5f6a7c3a9b42a6f3fbddecc 100644
--- a/Simulation/FastShower/FastCaloSim/python/AddNoiseCellBuilderToolConfig.py
+++ b/Simulation/FastShower/FastCaloSim/python/AddNoiseCellBuilderToolConfig.py
@@ -7,6 +7,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 
@@ -21,7 +22,7 @@ def AddNoiseCellBuilderToolCfg (configFlags):
     from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
     result.merge (CaloNoiseCondAlgCfg (configFlags, 'electronicNoise'))
 
-    from FastCaloSim.FastCaloSimConf import AddNoiseCellBuilderTool
+    AddNoiseCellBuilderTool=CompFactory.AddNoiseCellBuilderTool
     tool = AddNoiseCellBuilderTool ('AddNoiseCellBuilderTool',
                                     NoiseKey = 'electronicNoise',
                                     CaloEstimatedGainTool = estimatedGainTool)
diff --git a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasFieldServices.py b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasFieldServices.py
index ed3e884878f679651debd4164236d8e3e52bab1b..9fb064546c87cba3e697a6818c6d032dd6c27590 100644
--- a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasFieldServices.py
+++ b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasFieldServices.py
@@ -1,12 +1,13 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from G4AtlasServices.G4AtlasServicesConf import StandardFieldSvc
+from AthenaConfiguration.ComponentFactory import CompFactory
+StandardFieldSvc=CompFactory.StandardFieldSvc
 
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 #to prevent unit tests failing when just running over simulation
 import os
 if "AthSimulation_DIR" not in os.environ:
-    from ForwardRegionMgField.ForwardRegionMgFieldConf import MagField__ForwardRegionFieldSvc
+    MagField__ForwardRegionFieldSvc=CompFactory.MagField__ForwardRegionFieldSvc
 
 def StandardFieldSvcCfg(ConfigFlags,name="StandardField", **kwargs):
     result = ComponentAccumulator()
diff --git a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
index 59886bbe50c2be263977fe0ef4d2e4b62d1efffd..87ea0806970072644632f7eabb86e9701ccad706 100644
--- a/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasServices/python/G4AtlasServicesConfigNew.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
-from G4AtlasServices.G4AtlasServicesConf import DetectorGeometrySvc, G4AtlasSvc, G4GeometryNotifierSvc, PhysicsListSvc
-
+DetectorGeometrySvc, G4AtlasSvc, G4GeometryNotifierSvc, PhysicsListSvc=CompFactory.getComps("DetectorGeometrySvc","G4AtlasSvc","G4GeometryNotifierSvc","PhysicsListSvc",)
 #the physics region tools
 from G4AtlasTools.G4PhysicsRegionConfigNew import SX1PhysicsRegionToolCfg, BedrockPhysicsRegionToolCfg, CavernShaftsConcretePhysicsRegionToolCfg, PixelPhysicsRegionToolCfg, SCTPhysicsRegionToolCfg, TRTPhysicsRegionToolCfg, TRT_ArPhysicsRegionToolCfg, BeampipeFwdCutPhysicsRegionToolCfg, FWDBeamLinePhysicsRegionToolCfg, EMBPhysicsRegionToolCfg, EMECPhysicsRegionToolCfg, HECPhysicsRegionToolCfg, FCALPhysicsRegionToolCfg, FCAL2ParaPhysicsRegionToolCfg, EMECParaPhysicsRegionToolCfg, FCALParaPhysicsRegionToolCfg
 
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py b/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
index fc9f64bc0b71d75cc024bb61aa24d6dd425e4262..88b4292c343c0fd38c4c0897da40c7ecd8125845 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4AtlasToolsConfigNew.py
@@ -1,10 +1,11 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaCommon import CfgMgr
-from G4AtlasTools.G4AtlasToolsConf import SensitiveDetectorMasterTool
+SensitiveDetectorMasterTool=CompFactory.SensitiveDetectorMasterTool
 
 from BCM_G4_SD.BCM_G4_SDToolConfig import BCMSensorSDCfg
 from BLM_G4_SD.BLM_G4_SDToolConfig import BLMSensorSDCfg
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4FieldConfigNew.py b/Simulation/G4Atlas/G4AtlasTools/python/G4FieldConfigNew.py
index 383383d21f95300af9efce68ac75fc473ee5b198..6c6527733357bce10bf28a083095b2a5830be0ac 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4FieldConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4FieldConfigNew.py
@@ -1,8 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # ComponentAccumulator based configuration
-
-from G4AtlasTools.G4AtlasToolsConf import GlobalFieldManagerTool, DetectorFieldManagerTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+GlobalFieldManagerTool, DetectorFieldManagerTool=CompFactory.getComps("GlobalFieldManagerTool","DetectorFieldManagerTool",)
 from G4AtlasServices.G4AtlasFieldServices import StandardFieldSvcCfg, ForwardFieldSvcCfg, Q1FwdG4FieldSvcCfg, Q2FwdG4FieldSvcCfg, Q3FwdG4FieldSvcCfg, D1FwdG4FieldSvcCfg, D2FwdG4FieldSvcCfg, Q4FwdG4FieldSvcCfg, Q5FwdG4FieldSvcCfg, Q6FwdG4FieldSvcCfg, Q7FwdG4FieldSvcCfg, Q1HKickFwdG4FieldSvcCfg, Q1VKickFwdG4FieldSvcCfg, Q2HKickFwdG4FieldSvcCfg, Q2VKickFwdG4FieldSvcCfg, Q3HKickFwdG4FieldSvcCfg, Q3VKickFwdG4FieldSvcCfg, Q4VKickAFwdG4FieldSvcCfg, Q4HKickFwdG4FieldSvcCfg, Q4VKickBFwdG4FieldSvcCfg, Q5HKickFwdG4FieldSvcCfg, Q6VKickFwdG4FieldSvcCfg
 
 # Field Managers
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py b/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
index b045066778eb48cff6a344c0d14e0d17d01c61a9..d963567e3dcaa3fdb02ca9181c1cf34432b80749 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4GeometryToolConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from Geo2G4.Geo2G4Conf import GeoDetectorTool
+GeoDetectorTool=CompFactory.GeoDetectorTool
 from BeamPipeGeoModel.BeamPipeGMConfig import BeamPipeGeometryCfg
 from AtlasGeoModel.InDetGMConfig import InDetGeometryCfg, InDetServiceMaterialCfg
 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
@@ -9,7 +10,7 @@ from TileGeoModel.TileGMConfig import TileGMCfg
 from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
 from AtlasGeoModel.ForDetGeoModelConfig import ForDetGeometryCfg
 
-from G4AtlasTools.G4AtlasToolsConf import CylindricalEnvelope, PolyconicalEnvelope, MaterialDescriptionTool,G4AtlasDetectorConstructionTool#, BoxEnvelope #(check)
+CylindricalEnvelope, PolyconicalEnvelope, MaterialDescriptionTool,G4AtlasDetectorConstructionTool=CompFactory.getComps("CylindricalEnvelope","PolyconicalEnvelope","MaterialDescriptionTool","G4AtlasDetectorConstructionTool",)
 
 from AthenaCommon.SystemOfUnits import mm, cm, m
 from past.builtins import xrange
diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/python/RecoTimingConfig.py b/Simulation/G4Utilities/MCTruthSimAlgs/python/RecoTimingConfig.py
index 3b94cd60f3baf7818a477c767bdb61f042f1ecd7..3fd2308c567db76de603f76f37b42022b610eb50 100644
--- a/Simulation/G4Utilities/MCTruthSimAlgs/python/RecoTimingConfig.py
+++ b/Simulation/G4Utilities/MCTruthSimAlgs/python/RecoTimingConfig.py
@@ -1,5 +1,6 @@
 """Configuration for RecoTimingObj with ComponentAccumulator/ConfigFlags
 Based on a fragment from MCTruthSimAlgsConfig.py
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py b/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
index 1af6a5b1ebeea71e93c4c3e9efb804926ab53f71..b5783e51f0db2a1bd1d319a21a42fa8fb5c67a52 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
+++ b/Simulation/ISF/ISF_Core/ISF_Services/python/ISF_ServicesConfigNew.py
@@ -6,13 +6,14 @@ KG Tan, 17/06/2012
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from BarcodeServices.BarcodeServicesConfigNew import MC15aPlusBarcodeSvcCfg
 from ISF_HepMC_Tools.ISF_HepMC_ToolsConfigNew import TruthStrategyGroupID_MC15Cfg, TruthStrategyGroupCaloMuBremCfg, TruthStrategyGroupCaloDecay_MC15Cfg, TruthStrategyGroupIDHadInt_MC15Cfg, ParticleFinalStateFilterCfg, ParticlePositionFilterDynamicCfg, EtaPhiFilterCfg, GenParticleInteractingFilterCfg
 from SubDetectorEnvelopes.SubDetectorEnvelopesConfigNew import EnvelopeDefSvcCfg
 
 
-from ISF_Services.ISF_ServicesConf import ISF__TruthSvc, ISF__GeoIDSvc, ISF__ISFEnvelopeDefSvc, ISF__InputConverter
+ISF__TruthSvc, ISF__GeoIDSvc, ISF__ISFEnvelopeDefSvc, ISF__InputConverter=CompFactory.getComps("ISF__TruthSvc","ISF__GeoIDSvc","ISF__ISFEnvelopeDefSvc","ISF__InputConverter",)
 
 #Functions yet to be migrated:
 #getParticleBrokerSvcNoOrdering, getParticleBrokerSvc, getAFIIParticleBrokerSvc, getAFIIEnvelopeDefSvc, getAFIIGeoIDSvc
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
index 18ce6cce97f0bdf7a2a215b82d76d14ddf555f56..ec35669ac1aa425f7f6eb47ff66ee5502bfeaf9f 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigNew.py
@@ -6,8 +6,9 @@ KG Tan, 17/06/2012
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
-from ISF_HepMC_Tools.ISF_HepMC_ToolsConf import ISF__GenericTruthStrategy, ISF__GenParticleFinalStateFilter, ISF__GenParticlePositionFilter, ISF__GenParticleGenericFilter, ISF__GenParticleInteractingFilter
+ISF__GenericTruthStrategy, ISF__GenParticleFinalStateFilter, ISF__GenParticlePositionFilter, ISF__GenParticleGenericFilter, ISF__GenParticleInteractingFilter=CompFactory.getComps("ISF__GenericTruthStrategy","ISF__GenParticleFinalStateFilter","ISF__GenParticlePositionFilter","ISF__GenParticleGenericFilter","ISF__GenParticleInteractingFilter",)
 
 from AthenaCommon.SystemOfUnits import MeV, mm
 
diff --git a/Simulation/Overlay/OverlayCopyAlgs/python/OverlayCopyAlgsConfig.py b/Simulation/Overlay/OverlayCopyAlgs/python/OverlayCopyAlgsConfig.py
index 84426d337fde3e7a64ec559b4b7c085d536d6f7d..ccdcc3c0b67c6e55aed92d047d9d7a3d00603695 100644
--- a/Simulation/Overlay/OverlayCopyAlgs/python/OverlayCopyAlgsConfig.py
+++ b/Simulation/Overlay/OverlayCopyAlgs/python/OverlayCopyAlgsConfig.py
@@ -4,6 +4,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 """
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def CopyCaloCalibrationHitContainerAlgCfg(flags, collectionName, name="CopyCaloCalibrationHitContainer", **kwargs):
@@ -15,7 +16,7 @@ def CopyCaloCalibrationHitContainerAlgCfg(flags, collectionName, name="CopyCaloC
     kwargs.setdefault("OutputKey", collectionName)
 
     # Copy CaloCalibrationHitContainer
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyCaloCalibrationHitContainer
+    CopyCaloCalibrationHitContainer=CompFactory.CopyCaloCalibrationHitContainer
     alg = CopyCaloCalibrationHitContainer(name + collectionName, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -36,7 +37,7 @@ def CopyInTimeJetTruthInfoCfg(flags, name="CopyInTimeJetTruthInfo", **kwargs):
     kwargs.setdefault("OutputKey", "InTimeAntiKt4TruthJets")
 
     # Copy jets
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyJetTruthInfo
+    CopyJetTruthInfo=CompFactory.CopyJetTruthInfo
     alg = CopyJetTruthInfo(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -51,7 +52,7 @@ def CopyOutOfTimeJetTruthInfoCfg(flags, name="CopyOutOfTimeJetTruthInfo", **kwar
     kwargs.setdefault("OutputKey", "OutOfTimeAntiKt4TruthJets")
 
     # Copy jets
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyJetTruthInfo
+    CopyJetTruthInfo=CompFactory.CopyJetTruthInfo
     alg = CopyJetTruthInfo(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -79,7 +80,7 @@ def CopyMcEventCollectionAlgCfg(flags, name = "CopyMcEventCollection", **kwargs)
     kwargs.setdefault("OutputKey", "TruthEvent")
 
     # Merge and copy McEventCollection
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyMcEventCollection
+    CopyMcEventCollection=CompFactory.CopyMcEventCollection
     alg = CopyMcEventCollection(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -103,7 +104,7 @@ def CopyTimingsAlgCfg(flags, name = "CopyTimings", **kwargs):
     kwargs.setdefault("OutputKey", "EVNTtoHITS_timings")
 
     # Copy RecoTimingObj
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyTimings
+    CopyTimings=CompFactory.CopyTimings
     alg = CopyTimings(name, **kwargs)
     acc.addEventAlgo(alg)
 
@@ -125,7 +126,7 @@ def CopyTrackRecordCollectionAlgCfg(flags, collectionName, name="CopyTrackRecord
     kwargs.setdefault("OutputKey", collectionName)
 
     # Copy TrackRecordCollection
-    from OverlayCopyAlgs.OverlayCopyAlgsConf import CopyTrackRecordCollection
+    CopyTrackRecordCollection=CompFactory.CopyTrackRecordCollection
     alg = CopyTrackRecordCollection(name + collectionName, **kwargs)
     acc.addEventAlgo(alg)
 
diff --git a/TileCalorimeter/TileConditions/python/TileAutoCorrelationConfig.py b/TileCalorimeter/TileConditions/python/TileAutoCorrelationConfig.py
index 4d5af60234114eba2ac942b101d6faf876f157af..2765caf481995f80be5ad0f83399c004dd39b5b9 100644
--- a/TileCalorimeter/TileConditions/python/TileAutoCorrelationConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileAutoCorrelationConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile auto correlation tool and conditions algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileAutoCorrelationCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile auto correlation conditions algorithm
@@ -78,7 +79,7 @@ def TileCondToolAutoCrCfg(flags, **kwargs):
 
     acc.merge( TileAutoCorrelationCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolAutoCr
+    TileCondToolAutoCr=CompFactory.TileCondToolAutoCr
     acc.setPrivateTools( TileCondToolAutoCr(name, TileAutoCorrelation = autoCorrelation) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileBadChannelsConfig.py b/TileCalorimeter/TileConditions/python/TileBadChannelsConfig.py
index 00d4bcc8c3e1909fd6af9e07bfb3d185697a1641..8143f36b332bdd69f2c6004f50499ff6a3dbc7bb 100644
--- a/TileCalorimeter/TileConditions/python/TileBadChannelsConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileBadChannelsConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile bad channels"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 _validSources = ['COOL','FILE']
 
@@ -57,8 +58,8 @@ def TileBadChannelsCondAlgCfg(flags, **kwargs):
         offlineBadChannelsProxy = TileCondProxyFileBch('TileCondProxyFile_OflBch', Source = 'TileDefault.oflBch')
         
 
-    from TileConditions.TileConditionsConf import TileCondIdTransforms
-    from TileConditions.TileConditionsConf import TileBadChannelsCondAlg
+    TileCondIdTransforms=CompFactory.TileCondIdTransforms
+    TileBadChannelsCondAlg=CompFactory.TileBadChannelsCondAlg
     badChannelsCondAlg = TileBadChannelsCondAlg( name = name,
                                                  OnlBchProxy = onlineBadChannelsProxy,
                                                  OflBchProxy = offlineBadChannelsProxy,
@@ -96,7 +97,7 @@ def TileBadChanToolCfg(flags, **kwargs):
     from TileConditions.TileBadChannelsConfig import TileBadChannelsCondAlgCfg
     acc.merge( TileBadChannelsCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileBadChanTool
+    TileBadChanTool=CompFactory.TileBadChanTool
     acc.setPrivateTools( TileBadChanTool(name, TileBadChannels = badChannels) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileConditionsConfig.py b/TileCalorimeter/TileConditions/python/TileConditionsConfig.py
index 9182ce5abccef1ced7948e535fe9bfca52ca2801..9a0eaf9f6b302182c15bbba847f39ae5bfd6a170 100644
--- a/TileCalorimeter/TileConditions/python/TileConditionsConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileConditionsConfig.py
@@ -2,6 +2,7 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 def tileCondCfg( flags ):
 
     acc = ComponentAccumulator()
@@ -10,14 +11,14 @@ def tileCondCfg( flags ):
     def __addFolder(f):        
         acc.merge( addFolders( flags, '%s <key>%s</key>' %(f,f),   'TILE_OFL' if '/OFL' in f else 'TILE_ONL',  className="CondAttrListCollection") )
 
-    # from TileConditions.TileConditionsConf import TileCondProxyFile_TileCalibDrawerFlt_ as TileCondProxyFileFlt
-    # from TileConditions.TileConditionsConf import TileCondProxyFile_TileCalibDrawerBch_ as TileCondProxyFileBch
-    from TileConditions.TileConditionsConf import TileCondProxyCool_TileCalibDrawerFlt_ as TileCondProxyCoolFlt
-    from TileConditions.TileConditionsConf import TileCondProxyCool_TileCalibDrawerBch_ as TileCondProxyCoolBch
-    # from TileConditions.TileConditionsConf import TileCondProxyCool_TileCalibDrawerOfc_ as TileCondProxyCoolOfc
+    #TileCondProxyFileFlt=CompFactory.TileCondProxyFile_TileCalibDrawerFlt_
+    #TileCondProxyFileBch=CompFactory.TileCondProxyFile_TileCalibDrawerBch_
+    TileCondProxyCoolFlt=CompFactory.TileCondProxyFile_TileCalibDrawerFlt_
+    TileCondProxyCoolBch=CompFactory.TileCondProxyCool_TileCalibDrawerBch_
+    #TileCondProxyCoolOfc=CompFactory.TileCondProxyCool_TileCalibDrawerOfc_
 
     emScale = 'TileEMScale'
-    from TileConditions.TileConditionsConf import TileEMScaleCondAlg
+    TileEMScaleCondAlg=CompFactory.TileEMScaleCondAlg
     emScaleCondAlg = TileEMScaleCondAlg(name = emScale + 'CondAlg', TileEMScale = emScale)
 
     # Defaults for offline data
@@ -45,12 +46,11 @@ def tileCondCfg( flags ):
 
     acc.addCondAlgo( emScaleCondAlg )
 
-    from TileConditions.TileConditionsConf import TileCondToolEmscale
+    TileCondToolEmscale=CompFactory.TileCondToolEmscale
     emScaleTool = TileCondToolEmscale(name = 'TileCondToolEmscale', TileEMScale = emScale)
     acc.addPublicTool( emScaleTool )
 
-
-    from TileConditions.TileConditionsConf import TileCalibCondAlg_TileCalibDrawerFlt_ as TileCalibFltCondAlg
+    TileCalibFltCondAlg=CompFactory.TileCalibCondAlg_TileCalibDrawerFlt_
     def __addCondAlg(calibData, proxy):
         calibCondAlg = calibData + 'CondAlg'
         condAlg = TileCalibFltCondAlg( name = calibCondAlg, ConditionsProxy = proxy, TileCalibData = calibData)
@@ -61,7 +61,7 @@ def tileCondCfg( flags ):
     sampleNoiseProxy = getTileCondProxyCoolFlt( 'TileCondProxyCool_NoiseSample', '/TILE/OFL02/NOISE/SAMPLE' )
     __addCondAlg(sampleNoise, sampleNoiseProxy)
 
-    from TileConditions.TileConditionsConf import TileCondToolNoiseSample
+    TileCondToolNoiseSample=CompFactory.TileCondToolNoiseSample
     noiseSampleTool = TileCondToolNoiseSample(name = 'TileCondToolNoiseSample', 
                                               TileSampleNoise = sampleNoise)
 
@@ -77,7 +77,7 @@ def tileCondCfg( flags ):
     timingProxy = getTileCondProxyCoolFlt('TileCondProxyCool_AdcOffset', '/TILE/OFL02/TIME/CHANNELOFFSET/PHY' )
     __addCondAlg(timing, timingProxy)
 
-    from TileConditions.TileConditionsConf import TileCondToolTiming
+    TileCondToolTiming=CompFactory.TileCondToolTiming
     timingTool = TileCondToolTiming(name = 'TileCondToolTiming', TileTiming = timing)
     acc.addPublicTool( timingTool )
 
@@ -87,13 +87,13 @@ def tileCondCfg( flags ):
 
 
     badChannels = 'TileBadChannels'
-    from TileConditions.TileConditionsConf import TileBadChannelsCondAlg
+    TileBadChannelsCondAlg=CompFactory.TileBadChannelsCondAlg
     badChannelsCondAlg = TileBadChannelsCondAlg( name = badChannels + 'CondAlg', TileBadChannels = badChannels)
     badChannelsCondAlg.OflBchProxy = getTileCondProxyCoolBch('TileCondProxyCool_OflBch', '/TILE/OFL02/STATUS/ADC' )
     badChannelsCondAlg.OnlBchProxy = getTileCondProxyCoolBch('TileCondProxyCool_OnlBch', '/TILE/ONL01/STATUS/ADC' )
     acc.addCondAlgo( badChannelsCondAlg )
 
-    from TileConditions.TileConditionsConf import TileBadChanTool
+    TileBadChanTool=CompFactory.TileBadChanTool
     badChanTool = TileBadChanTool(name = 'TileBadChanTool', TileBadChannels = badChannels)
     acc.addPublicTool( badChanTool )
 
@@ -108,7 +108,7 @@ def tileCondCfg( flags ):
                                   '/LAR/'+badchannelsfolder+'/MissingFEBs'], dbname))
     
 
-    from TileConditions.TileConditionsConf import TileInfoLoader, TileCablingSvc
+    TileInfoLoader, TileCablingSvc=CompFactory.getComps("TileInfoLoader","TileCablingSvc",)
     infoLoaderSvc = TileInfoLoader()
     infoLoaderSvc.NoiseScaleIndex= 2
     acc.addService( infoLoaderSvc ) 
diff --git a/TileCalorimeter/TileConditions/python/TileDCSConfig.py b/TileCalorimeter/TileConditions/python/TileDCSConfig.py
index 00dd4fd827b411c9c177a5dd2d9c74c1928506dc..8e93cefef8a1b08a6e25e51a4320bf9e12cc30e1 100644
--- a/TileCalorimeter/TileConditions/python/TileDCSConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileDCSConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile DCS tool and conditions algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileDCSCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile DCS conditions algorithm
@@ -52,7 +53,7 @@ def TileDCSCondAlgCfg(flags, **kwargs):
     from IOVDbSvc.IOVDbSvcConfig import addFolderList
     acc.merge( addFolderList(flags, folders.get()) )
 
-    from TileConditions.TileConditionsConf import TileDCSCondAlg
+    TileDCSCondAlg=CompFactory.TileDCSCondAlg
     dcsCondAlg = TileDCSCondAlg( name = name,
                                  ReadHV = readHV,
                                  ReadHVSET = readHVSET,
@@ -86,7 +87,7 @@ def TileDCSToolCfg(flags, **kwargs):
 
     acc.merge( TileDCSCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileDCSTool
+    TileDCSTool=CompFactory.TileDCSTool
     acc.setPrivateTools( TileDCSTool(TileDCS = dcs) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileDSPThresholdConfig.py b/TileCalorimeter/TileConditions/python/TileDSPThresholdConfig.py
index ef18c2dc5937e4ca97bf64aeb5a012b732be0126..7e1e761e53def72aac3924f6684dc3f447ab72a5 100644
--- a/TileCalorimeter/TileConditions/python/TileDSPThresholdConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileDSPThresholdConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile DSP threshold conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def TileDSP_ThresholdCondAlgCfg(flags, **kwargs):
@@ -74,7 +75,7 @@ def TileCondToolDspThresholdCfg(flags, **kwargs):
 
     acc.merge( TileDSP_ThresholdCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolDspThreshold
+    TileCondToolDspThreshold=CompFactory.TileCondToolDspThreshold
     acc.setPrivateTools( TileCondToolDspThreshold(TileDSP_Threshold = dspThreshold) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileEMScaleConfig.py b/TileCalorimeter/TileConditions/python/TileEMScaleConfig.py
index c00778c054bca56b30acecb246fcf71d4d858070..cd39943ea75506ad61cd7032b17a1f4572529335 100644
--- a/TileCalorimeter/TileConditions/python/TileEMScaleConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileEMScaleConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile EM scale"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 _validSources = ['COOL','FILE']
 
@@ -97,7 +98,7 @@ def TileEMScaleCondAlgCfg(flags, **kwargs):
         onlEmsProxy    = TileCondProxyFileFlt('TileCondProxyFile_OflEms', Source = 'TileDefault.ems')
 
 
-    from TileConditions.TileConditionsConf import TileEMScaleCondAlg
+    TileEMScaleCondAlg=CompFactory.TileEMScaleCondAlg
     emScaleCondAlg = TileEMScaleCondAlg(name = name,
                                         OnlCacheUnit = onlCacheUnit,
                                         OflCisLinProxy = oflCisLinProxy,
@@ -144,7 +145,7 @@ def TileCondToolEmscaleCfg(flags, **kwargs):
 
     acc.merge( TileEMScaleCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolEmscale
+    TileCondToolEmscale=CompFactory.TileCondToolEmscale
     acc.setPrivateTools( TileCondToolEmscale(name, TileEMScale = emScale) )
 
     return acc
@@ -174,7 +175,7 @@ def TileExpertToolEmscaleCfg(flags, **kwargs):
 
     acc.merge( TileEMScaleCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileExpertToolEmscale
+    TileExpertToolEmscale=CompFactory.TileExpertToolEmscale
     acc.setPrivateTools( TileExpertToolEmscale(name, TileEMScale = emScale) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileInfoLoaderConfig.py b/TileCalorimeter/TileConditions/python/TileInfoLoaderConfig.py
index 1beec57576d4293ec6464bd3aacfe3e54a886f4d..e06644279e5fb58c0e5adc0f8d1802ff2cef41ee 100644
--- a/TileCalorimeter/TileConditions/python/TileInfoLoaderConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileInfoLoaderConfig.py
@@ -4,6 +4,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 
@@ -70,7 +71,7 @@ def TileInfoLoaderCfg(flags, **kwargs):
             msg.info("Switching OFF noise in Tile Digitization" )
 
 
-    from TileConditions.TileConditionsConf import TileInfoLoader
+    TileInfoLoader=CompFactory.TileInfoLoader
     acc.addService(TileInfoLoader(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileIntegratorConfig.py b/TileCalorimeter/TileConditions/python/TileIntegratorConfig.py
index 7dbb7fcc965b2b732696737d1e7306b15d8e3924..7f41812debe06b9f4918d5913546cc5d79254a35 100644
--- a/TileCalorimeter/TileConditions/python/TileIntegratorConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileIntegratorConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile integrator conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileIntegratorCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile integrator conditions algorithm
@@ -74,7 +75,7 @@ def TileCondToolIntegratorCfg(flags, **kwargs):
 
     acc.merge( TileIntegratorCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolIntegrator
+    TileCondToolIntegrator=CompFactory.TileCondToolIntegrator
     acc.setPrivateTools( TileCondToolIntegrator(name, TileIntegrator = integrator) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileMuIDConfig.py b/TileCalorimeter/TileConditions/python/TileMuIDConfig.py
index ca84bdecbbda45ca5ffa29c0e005e66d9490bab6..b11519967478d43b1b5aa151eb6eeac994259896 100644
--- a/TileCalorimeter/TileConditions/python/TileMuIDConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileMuIDConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile MuID conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileMuIDCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile MuID conditions algorithm
@@ -71,7 +72,7 @@ def TileCondToolMuIDCfg(flags, **kwargs):
 
     acc.merge( TileMuIDCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolMuID
+    TileCondToolMuID=CompFactory.TileCondToolMuID
     acc.setPrivateTools( TileCondToolMuID(name, TileMuID = muID) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileOFCConfig.py b/TileCalorimeter/TileConditions/python/TileOFCConfig.py
index 04aaac94659b89d915d8d58d75f95e62847d208f..d21361d0ca730cdb59c939773467be96285e4946 100644
--- a/TileCalorimeter/TileConditions/python/TileOFCConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileOFCConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile OFC conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileOFCCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile OFC conditions algorithm
@@ -96,7 +97,7 @@ def TileCondToolOfcCoolCfg(flags, **kwargs):
 
     acc.merge( TileOFCCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolOfcCool
+    TileCondToolOfcCool=CompFactory.TileCondToolOfcCool
     acc.setPrivateTools( TileCondToolOfcCool(name, TileOfc = ofc) )
 
     return acc
@@ -140,7 +141,7 @@ def TileCondToolOfcCfg(flags, **kwargs):
             autoCorrelationTool = acc.popToolsAndMerge( TileCondToolAutoCrCfg(flags) )
 
     name = 'TileCondToolOfc'
-    from TileConditions.TileConditionsConf import TileCondToolOfc
+    TileCondToolOfc=CompFactory.TileCondToolOfc
     acc.setPrivateTools( TileCondToolOfc(name,
                                          OptFilterDeltaCorrelation = optFilterDeltaCorrelation,
                                          TileCondToolPulseShape = pulseShapeTool,
diff --git a/TileCalorimeter/TileConditions/python/TilePulseShapeConfig.py b/TileCalorimeter/TileConditions/python/TilePulseShapeConfig.py
index 27717e24234575f3ad8c50cef772142b725b8fdc..310685ca04316984a24317d198c5f4bbbf3e9e87 100644
--- a/TileCalorimeter/TileConditions/python/TilePulseShapeConfig.py
+++ b/TileCalorimeter/TileConditions/python/TilePulseShapeConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile pulse shape conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TilePulseShapeCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile pulse shape conditions algorithm
@@ -107,7 +108,7 @@ def TileCondToolPulseShapeCfg(flags, **kwargs):
 
     acc.merge( TilePulseShapeCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolPulseShape
+    TileCondToolPulseShape=CompFactory.TileCondToolPulseShape
     acc.setPrivateTools( TileCondToolPulseShape(name, TilePulseShape = pulseShape) )
 
     return acc
@@ -124,7 +125,7 @@ def TileCondToolMuRcvPulseShapeCfg(flags, **kwargs):
 
     acc = TilePulseShapeCondAlgCfg(flags, **kwargs)
 
-    from TileConditions.TileConditionsConf import TileCondToolPulseShape
+    TileCondToolPulseShape=CompFactory.TileCondToolPulseShape
     acc.setPrivateTools( TileCondToolPulseShape(name, TilePulseShape = pulseShape) )
 
     return acc
diff --git a/TileCalorimeter/TileConditions/python/TileSampleNoiseConfig.py b/TileCalorimeter/TileConditions/python/TileSampleNoiseConfig.py
index caad59dc8ec4a6a1c3c1927b95a5df78b3533221..fc427713eb7afca0f228b7cce10beedb91adeafa 100644
--- a/TileCalorimeter/TileConditions/python/TileSampleNoiseConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileSampleNoiseConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile sample noise tool and conditions algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileSampleNoiseCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile sample noise conditions algorithm
@@ -105,7 +106,7 @@ def TileCondToolNoiseSampleCfg(flags, **kwargs):
             kwargs['TileSampleNoise'] = onlineSampleNoise
             acc.merge( TileSampleNoiseCondAlgCfg(flags, ForceOnline = True, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolNoiseSample
+    TileCondToolNoiseSample=CompFactory.TileCondToolNoiseSample
     acc.setPrivateTools( TileCondToolNoiseSample(name, TileSampleNoise = sampleNoise, 
                                                  TileOnlineSampleNoise = onlineSampleNoise) )
 
diff --git a/TileCalorimeter/TileConditions/python/TileTMDBConfig.py b/TileCalorimeter/TileConditions/python/TileTMDBConfig.py
index f9cc29651ea87fe029700e05a32beaacdb00504e..e629a07fe8658f2b21c8c6316354a4126d239019 100644
--- a/TileCalorimeter/TileConditions/python/TileTMDBConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileTMDBConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile TMDB conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileTMDBCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile TMDB conditions algorithms
@@ -109,7 +110,7 @@ def TileCondToolTMDBCfg(flags, **kwargs):
 
     acc.merge( TileTMDBCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolTMDB
+    TileCondToolTMDB=CompFactory.TileCondToolTMDB
     acc.setPrivateTools( TileCondToolTMDB(TileTMDBThreshold = threshod,
                                           TileTMDBDelay = delay,
                                           TileTMDBTMF = tmf,
diff --git a/TileCalorimeter/TileConditions/python/TileTimingConfig.py b/TileCalorimeter/TileConditions/python/TileTimingConfig.py
index 99e0855614b54524b5c5916b25750f2b3d36cf98..895656d69d3e42edb305161e7372c5d9731a0d07 100644
--- a/TileCalorimeter/TileConditions/python/TileTimingConfig.py
+++ b/TileCalorimeter/TileConditions/python/TileTimingConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile timing conditions tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileTimingCondAlgCfg(flags, **kwargs):
     """Return component accumulator with configured Tile timing conditions algorithm
@@ -113,7 +114,7 @@ def TileCondToolTimingCfg(flags, **kwargs):
 
     acc.merge( TileTimingCondAlgCfg(flags, **kwargs) )
 
-    from TileConditions.TileConditionsConf import TileCondToolTiming
+    TileCondToolTiming=CompFactory.TileCondToolTiming
     acc.setPrivateTools( TileCondToolTiming(name, TileTiming = timing) )
 
     return acc
diff --git a/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/python/MinBiasScintillatorToolConfig.py b/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/python/MinBiasScintillatorToolConfig.py
index 928b5efd478ecfd988df2c14957f18b83bbab153..eff199174cf5f14e6795d01c110d7538fd0e3a21 100644
--- a/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/python/MinBiasScintillatorToolConfig.py
+++ b/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/python/MinBiasScintillatorToolConfig.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
-from MinBiasScintillator.MinBiasScintillatorConf import MinBiasScintillatorSDTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+MinBiasScintillatorSDTool=CompFactory.MinBiasScintillatorSDTool
 
 
 def MinBiasScintillatorSDCfg(ConfigFlags, name="MinBiasScintillatorSD", **kwargs):
diff --git a/TileCalorimeter/TileG4/TileGeoG4Calib/python/TileGeoG4CalibConfigNew.py b/TileCalorimeter/TileG4/TileGeoG4Calib/python/TileGeoG4CalibConfigNew.py
index 969e432360ba35146ac8a57ae5b9fe0953d019ae..54361a4f9f40d88b7d36bf111119ff4a31567fa4 100644
--- a/TileCalorimeter/TileG4/TileGeoG4Calib/python/TileGeoG4CalibConfigNew.py
+++ b/TileCalorimeter/TileG4/TileGeoG4Calib/python/TileGeoG4CalibConfigNew.py
@@ -1,7 +1,8 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from TileGeoG4Calib.TileGeoG4CalibConf import TileGeoG4CalibSDTool
+from AthenaConfiguration.ComponentFactory import CompFactory
+TileGeoG4CalibSDTool=CompFactory.TileGeoG4CalibSDTool
 
 
 def TileGeoG4CalibSDCfg(ConfigFlags, name="TileGeoG4CalibSD", **kwargs):
diff --git a/TileCalorimeter/TileG4/TileGeoG4SD/python/TileGeoG4SDToolConfig.py b/TileCalorimeter/TileG4/TileGeoG4SD/python/TileGeoG4SDToolConfig.py
index f0003cc043853d6ab09c2763c45d4bb87478eb5b..ebb07f945bca1f5040a87b9c33f077c8f6792626 100644
--- a/TileCalorimeter/TileG4/TileGeoG4SD/python/TileGeoG4SDToolConfig.py
+++ b/TileCalorimeter/TileG4/TileGeoG4SD/python/TileGeoG4SDToolConfig.py
@@ -1,9 +1,10 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from ISF_Algorithms.collection_merger_helpersNew import CollectionMergerCfg
 
-from TileGeoG4SD.TileGeoG4SDConf import TileGeoG4SDTool, TileGeoG4SDCalc
+TileGeoG4SDTool, TileGeoG4SDCalc=CompFactory.getComps("TileGeoG4SDTool","TileGeoG4SDCalc",)
 
 def TileGeoG4SDCfg(ConfigFlags, name="TileGeoG4SD", **kwargs):
     bare_collection_name = "TileHitVec"
diff --git a/TileCalorimeter/TileGeoModel/python/TileGMConfig.py b/TileCalorimeter/TileGeoModel/python/TileGMConfig.py
index 061eda0410a68ea99033d58363701d83037f718a..6cf16747cca96f78abe9108b141a258415dcab3f 100644
--- a/TileCalorimeter/TileGeoModel/python/TileGMConfig.py
+++ b/TileCalorimeter/TileGeoModel/python/TileGMConfig.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AtlasGeoModel.GeoModelConfig import GeoModelCfg
 from AthenaCommon.Configurable import Configurable
 Configurable.configurableRun3Behavior=1
@@ -9,7 +10,7 @@ Configurable.configurableRun3Behavior=1
 def TileGMCfg(configFlags):
     result=GeoModelCfg(configFlags)
 
-    from TileGeoModel.TileGeoModelConf import TileDetectorTool
+    TileDetectorTool=CompFactory.TileDetectorTool
     result.getPrimary().DetectorTools += [ TileDetectorTool() ]
     if not configFlags.Detector.SimulateCalo:
         result.getPrimary().DetectorTools["TileDetectorTool"].GeometryConfig = "RECO"
diff --git a/TileCalorimeter/TileL2Algs/python/TileL2Config.py b/TileCalorimeter/TileL2Algs/python/TileL2Config.py
index 46306da7c9ac625083da66504be45aa4ba7be148..318d72377ce1551a8366585c8926188a875d6a99 100644
--- a/TileCalorimeter/TileL2Algs/python/TileL2Config.py
+++ b/TileCalorimeter/TileL2Algs/python/TileL2Config.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile L2 builder tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def TileL2BuilderCfg(flags, **kwargs):
@@ -33,7 +34,7 @@ def TileL2BuilderCfg(flags, **kwargs):
         emScaleTool = acc.popToolsAndMerge( TileCondToolEmscaleCfg(flags) )
         kwargs['TileCondToolEmscale'] = emScaleTool
 
-    from TileL2Algs.TileL2AlgsConf import TileL2Builder
+    TileL2Builder=CompFactory.TileL2Builder
     acc.setPrivateTools( TileL2Builder(**kwargs) )
 
     return acc
@@ -61,7 +62,7 @@ def TileRawChannelToL2Cfg(flags, **kwargs):
         kwargs['TileL2Builder'] = l2Builder
 
 
-    from TileL2Algs.TileL2AlgsConf import TileRawChannelToL2
+    TileRawChannelToL2=CompFactory.TileRawChannelToL2
     acc.addEventAlgo( TileRawChannelToL2(**kwargs), primary = True )
 
     return acc
diff --git a/TileCalorimeter/TileMonitoring/python/TileTowerBuilderConfig.py b/TileCalorimeter/TileMonitoring/python/TileTowerBuilderConfig.py
index 75d3a37e8e8dc695cc1dbc82cd81efabc4f2952d..554d1f9ec2add05062e2fd04939c848b901fe728 100644
--- a/TileCalorimeter/TileMonitoring/python/TileTowerBuilderConfig.py
+++ b/TileCalorimeter/TileMonitoring/python/TileTowerBuilderConfig.py
@@ -7,6 +7,7 @@
 '''
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 def TileTowerBuilderAlgCfg(flags, **kwargs):
 
     acc = ComponentAccumulator()
@@ -24,14 +25,14 @@ def TileTowerBuilderAlgCfg(flags, **kwargs):
     from LArGeoAlgsNV.LArGMConfig import LArGMCfg
     acc.merge(LArGMCfg(flags))
 
-    from TileRecUtils.TileRecUtilsConf import TileTowerBuilderTool
+    TileTowerBuilderTool=CompFactory.TileTowerBuilderTool
     tileCmbTwrBldr = TileTowerBuilderTool( name = 'TileCmbTwrBldr',
                                            CellContainerName = 'AllCalo',
                                            IncludedCalos = ['TILE'])
 
     kwargs['TowerBuilderTools'] = [ tileCmbTwrBldr ]
 
-    from CaloRec.CaloRecConf import CaloTowerAlgorithm
+    CaloTowerAlgorithm=CompFactory.CaloTowerAlgorithm
     acc.addEventAlgo(CaloTowerAlgorithm(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileMonitoring/python/TileTowerMonitorAlgorithm.py b/TileCalorimeter/TileMonitoring/python/TileTowerMonitorAlgorithm.py
index 17b702d3a3bf446e3d3cf9c94e292e971d3b20b2..6b927409ac4dc224404fb27c2d63a3a2650c6522 100644
--- a/TileCalorimeter/TileMonitoring/python/TileTowerMonitorAlgorithm.py
+++ b/TileCalorimeter/TileMonitoring/python/TileTowerMonitorAlgorithm.py
@@ -6,6 +6,7 @@
 @brief Python configuration of TileTowerMonitorAlgorithm algorithm for the Run III
 '''
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileTowerMonitoringConfig(flags, **kwargs):
 
@@ -25,7 +26,7 @@ def TileTowerMonitoringConfig(flags, **kwargs):
     helper = AthMonitorCfgHelper(flags,'TileTowerMonitoring')
 
     # Adding an TileTowerMonitorAlgorithm algorithm to the helper
-    from TileMonitoring.TileMonitoringConf import TileTowerMonitorAlgorithm
+    TileTowerMonitorAlgorithm=CompFactory.TileTowerMonitorAlgorithm
     tileTowerMonAlg = helper.addAlgorithm(TileTowerMonitorAlgorithm, 'TileTowerMonAlg')
 
     tileTowerMonAlg.TriggerChain = ''
diff --git a/TileCalorimeter/TileRecAlgs/python/MBTSTimeDiffEventInfoAlgConfig.py b/TileCalorimeter/TileRecAlgs/python/MBTSTimeDiffEventInfoAlgConfig.py
index af646dfa08c0eba76544b1e868d088254b9dc33a..9bf860e5c0d1cdf976875824b7cf19ea52957b73 100644
--- a/TileCalorimeter/TileRecAlgs/python/MBTSTimeDiffEventInfoAlgConfig.py
+++ b/TileCalorimeter/TileRecAlgs/python/MBTSTimeDiffEventInfoAlgConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured MBTS time difference algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def MBTSTimeDiffEventInfoAlgCfg(flags, **kwargs):
     """Return component accumulator with configured MBTS time difference algorithm
@@ -22,7 +23,7 @@ def MBTSTimeDiffEventInfoAlgCfg(flags, **kwargs):
     from LArGeoAlgsNV.LArGMConfig import LArGMCfg
     acc.merge(LArGMCfg(flags))
 
-    from TileRecAlgs.TileRecAlgsConf import MBTSTimeDiffEventInfoAlg
+    MBTSTimeDiffEventInfoAlg=CompFactory.MBTSTimeDiffEventInfoAlg
     acc.addEventAlgo(MBTSTimeDiffEventInfoAlg(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileRecAlgs/python/TileDigitsFilterConfig.py b/TileCalorimeter/TileRecAlgs/python/TileDigitsFilterConfig.py
index e675015e0b6d9708332e991a625df994a192ee44..83bc83b74516635802680820b2730e5d135e2dff 100644
--- a/TileCalorimeter/TileRecAlgs/python/TileDigitsFilterConfig.py
+++ b/TileCalorimeter/TileRecAlgs/python/TileDigitsFilterConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile digits filter algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileDigitsFilterCfg(flags, **kwargs):
     """Return component accumulator with configured Tile digits filter algorithm
@@ -19,7 +20,7 @@ def TileDigitsFilterCfg(flags, **kwargs):
     from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
     acc.merge( TileCablingSvcCfg(flags) )
 
-    from TileRecAlgs.TileRecAlgsConf import TileDigitsFilter
+    TileDigitsFilter=CompFactory.TileDigitsFilter
     acc.addEventAlgo(TileDigitsFilter(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileRecUtils/python/TileCellBuilderConfig.py b/TileCalorimeter/TileRecUtils/python/TileCellBuilderConfig.py
index b5b42e454993d3468d4a66581d9923fa6cc08d58..34a7fbeb1e07fd86f564a210da02c488f952304d 100644
--- a/TileCalorimeter/TileRecUtils/python/TileCellBuilderConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileCellBuilderConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile Cell builder tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileCellBuilderCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile Cell builder tool
@@ -60,7 +61,7 @@ def TileCellBuilderCfg(flags, **kwargs):
             kwargs['TileDSPRawChannelContainer'] = tileRawChannelContainerDSP
             acc.merge( corrAlgAcc )
 
-    from TileRecUtils.TileRecUtilsConf import TileCellBuilder
+    TileCellBuilder=CompFactory.TileCellBuilder
     acc.setPrivateTools( TileCellBuilder(**kwargs) )
 
     return acc
diff --git a/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py b/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
index d072ba684bf24191d90abddd097bf3bcf064cc11..5abffbd34956cf0897caddbf72a76a0e90ffd4d0 100644
--- a/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileCellMakerConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile Cell maker algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from CaloCellCorrection.CaloCellCorrectionConfig import CaloCellNeighborsAverageCorrCfg
 
@@ -22,7 +23,7 @@ def CaloCellContainerCheckerToolCfg(flags):
     from TileGeoModel.TileGMConfig import TileGMCfg
     acc.merge(TileGMCfg(flags))
 
-    from CaloRec.CaloRecConf import CaloCellContainerCheckerTool
+    CaloCellContainerCheckerTool=CompFactory.CaloCellContainerCheckerTool
     acc.setPrivateTools( CaloCellContainerCheckerTool() )
 
     return acc
@@ -64,7 +65,7 @@ def TileCellMakerCfg(flags, **kwargs):
         from TileRecUtils.TileRawChannelMakerConfig import TileRawChannelMakerCfg
         acc.merge( TileRawChannelMakerCfg(flags) )
 
-    from CaloRec.CaloRecConf import CaloCellMaker, CaloCellContainerFinalizerTool
+    CaloCellMaker, CaloCellContainerFinalizerTool=CompFactory.getComps("CaloCellMaker","CaloCellContainerFinalizerTool",)
     from TileRecUtils.TileCellBuilderConfig import TileCellBuilderCfg
     tileCellBuilder = acc.popToolsAndMerge( TileCellBuilderCfg(flags, SkipGain = skipGain) )
 
diff --git a/TileCalorimeter/TileRecUtils/python/TileCellNoiseFilterConfig.py b/TileCalorimeter/TileRecUtils/python/TileCellNoiseFilterConfig.py
index bd235a75fb95205536caacebfc6b2565433d0c51..d9597e792dea1f04c8cb817b9c3207e18d636f81 100644
--- a/TileCalorimeter/TileRecUtils/python/TileCellNoiseFilterConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileCellNoiseFilterConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured private Tile Cell noise filter tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 
 def TileCellNoiseFilterCfg(flags, **kwargs):
@@ -20,7 +21,7 @@ def TileCellNoiseFilterCfg(flags, **kwargs):
     from TileGeoModel.TileGMConfig import TileGMCfg
     acc.merge(TileGMCfg(flags))
 
-    from TileRecUtils.TileRecUtilsConf import TileCellNoiseFilter
+    TileCellNoiseFilter=CompFactory.TileCellNoiseFilter
     tileCellNoiseFilter = TileCellNoiseFilter()
 
     from TileConditions.TileEMScaleConfig import TileCondToolEmscaleCfg
diff --git a/TileCalorimeter/TileRecUtils/python/TileDQstatusConfig.py b/TileCalorimeter/TileRecUtils/python/TileDQstatusConfig.py
index 267615a9ed87938a4cbe1955371fbe7646c0a565..8cdc595d414327c1f72104bb00e226fd8e3746d7 100644
--- a/TileCalorimeter/TileRecUtils/python/TileDQstatusConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileDQstatusConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile DQ status tool and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileDQstatusToolCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile DQ status tool
@@ -21,7 +22,7 @@ def TileDQstatusToolCfg(flags, **kwargs):
         badChanTool = acc.popToolsAndMerge( TileBadChanToolCfg(flags) )
         kwargs['TileBadChanTool'] = badChanTool
 
-    from TileRecUtils.TileRecUtilsConf import TileDQstatusTool
+    TileDQstatusTool=CompFactory.TileDQstatusTool
     acc.setPrivateTools( TileDQstatusTool(**kwargs) )
 
     return acc
@@ -74,7 +75,7 @@ def TileDQstatusAlgCfg(flags, **kwargs):
         tileDQstatusTool = acc.popToolsAndMerge( TileDQstatusToolCfg(flags) )
         kwargs['TileDQstatusTool'] = tileDQstatusTool
 
-    from TileRecUtils.TileRecUtilsConf import TileDQstatusAlg
+    TileDQstatusAlg=CompFactory.TileDQstatusAlg
     acc.addEventAlgo(TileDQstatusAlg(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderConfig.py
index 04e8b840ead5f41518b8f9ecef67aec246f44406..964733b883e808d7e520a76450ef41cd4ed7ca11 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured base Tile raw channel builder tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 _runTypes = {'PHY' : 1, 'LAS' : 2, 'BILAS' : 2, 'PED' : 4, 'CIS' : 8, 'MONOCIS' : 8}
 
@@ -83,13 +84,13 @@ if __name__ == "__main__":
 
     acc = ComponentAccumulator()
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderFitFilter
+    TileRawChannelBuilderFitFilter=CompFactory.TileRawChannelBuilderFitFilter
     rchBuilderFitAcc = TileRawChannelBuilderCfg(ConfigFlags,
                                                 name = 'TileRawChannelBuilderFit',
                                                 TileRawChannelBuilder = TileRawChannelBuilderFitFilter)
     print( acc.popToolsAndMerge(rchBuilderFitAcc) )
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderOpt2Filter
+    TileRawChannelBuilderOpt2Filter=CompFactory.TileRawChannelBuilderOpt2Filter
     rchBuilderOpt2Acc = TileRawChannelBuilderCfg(ConfigFlags,
                                                  name = 'TileRawChannelBuilderOpt2',
                                                  TileRawChannelBuilder = TileRawChannelBuilderOpt2Filter)
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderFitConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderFitConfig.py
index 5d25f49d783d459a6b961ba90415385161051720..9d7b4f91bc3bd6b0bf3e92fd0d65b515c26c1816 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderFitConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderFitConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile Fit raw channel builder tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelBuilderFitFilterCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile Fit raw channel builder tool
@@ -28,7 +29,7 @@ def TileRawChannelBuilderFitFilterCfg(flags, **kwargs):
         timingTool = acc.popToolsAndMerge( TileCondToolTimingCfg(flags) )
         kwargs['TileCondToolTiming'] = timingTool
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderFitFilter
+    TileRawChannelBuilderFitFilter=CompFactory.TileRawChannelBuilderFitFilter
     from TileRecUtils.TileRawChannelBuilderConfig import TileRawChannelBuilderCfg
     rawChanBuilder = acc.popToolsAndMerge(TileRawChannelBuilderCfg(flags, name, TileRawChannelBuilderFitFilter, **kwargs))
     acc.setPrivateTools(rawChanBuilder)
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderMFConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderMFConfig.py
index 6312a4cdd38cae1938f22ad83ef7b385c6378a27..0063f4c736f5f730b71cb1da8e84c8e8832d81ee 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderMFConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderMFConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile MF raw channel builder tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelBuilderMFCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile MF raw channel builder tool
@@ -46,7 +47,7 @@ def TileRawChannelBuilderMFCfg(flags, **kwargs):
         timingTool = acc.popToolsAndMerge( TileCondToolTimingCfg(flags) )
         kwargs['TileCondToolTiming'] = timingTool
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderMF
+    TileRawChannelBuilderMF=CompFactory.TileRawChannelBuilderMF
     from TileRecUtils.TileRawChannelBuilderConfig import TileRawChannelBuilderCfg
     rawChanBuilder = acc.popToolsAndMerge( TileRawChannelBuilderCfg(flags, name, TileRawChannelBuilderMF, **kwargs) )
     acc.setPrivateTools(rawChanBuilder)
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderOptConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderOptConfig.py
index 55b9f286c25f13696904a5b4f0b6b533cd616a3f..3beb886d588f6d757721cb6418bd88b99ee51f0a 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderOptConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelBuilderOptConfig.py
@@ -3,6 +3,7 @@
 """Define methods to construct configured Tile raw channel builder tools using Optimal Filtering methods"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelBuilderOpt2FilterCfg(flags, method = 'Opt2', **kwargs):
     """Return component accumulator with configured private Tile raw channel builder tool (Opt2)
@@ -63,7 +64,7 @@ def TileRawChannelBuilderOpt2FilterCfg(flags, method = 'Opt2', **kwargs):
         sampleNoiseTool = acc.popToolsAndMerge( TileCondToolNoiseSampleCfg(flags) )
         kwargs['TileCondToolNoiseSample'] = sampleNoiseTool
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelBuilderOpt2Filter
+    TileRawChannelBuilderOpt2Filter=CompFactory.TileRawChannelBuilderOpt2Filter
     from TileRecUtils.TileRawChannelBuilderConfig import TileRawChannelBuilderCfg
     builderTool = acc.popToolsAndMerge( TileRawChannelBuilderCfg(flags, name, TileRawChannelBuilderOpt2Filter, **kwargs) )
 
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelCorrectionConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelCorrectionConfig.py
index ad84a68ca0623d907ab1928d62cfc54cd32e6592..13bbebfcbf4e1a7d3006c74caff694a7ecfb9f5f 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelCorrectionConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelCorrectionConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile correction tools and algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelOF1CorrectorCfg(flags, **kwargs):
     """Return component accumulator with configured private Tile OF1 raw channel correction tool
@@ -44,7 +45,7 @@ def TileRawChannelOF1CorrectorCfg(flags, **kwargs):
             kwargs['TileCondToolEmscale'] = acc.popToolsAndMerge( TileCondToolEmscaleCfg(flags) )
 
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelOF1Corrector
+    TileRawChannelOF1Corrector=CompFactory.TileRawChannelOF1Corrector
     acc.setPrivateTools( TileRawChannelOF1Corrector(**kwargs) )
 
     return acc
@@ -81,7 +82,7 @@ def TileRawChannelNoiseFilterCfg(flags, **kwargs):
         badChanTool = acc.popToolsAndMerge( TileBadChanToolCfg(flags) )
         kwargs['TileBadChanTool'] = badChanTool
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelNoiseFilter
+    TileRawChannelNoiseFilter=CompFactory.TileRawChannelNoiseFilter
     acc.setPrivateTools( TileRawChannelNoiseFilter(**kwargs) )
 
     return acc
@@ -128,7 +129,7 @@ def TileRawChannelCorrectionAlgCfg(flags, **kwargs):
     if 'NoiseFilterTools' not in kwargs:
         kwargs['NoiseFilterTools'] = acc.popToolsAndMerge( TileRawChannelCorrectionToolsCfg(flags) )
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelCorrectionAlg
+    TileRawChannelCorrectionAlg=CompFactory.TileRawChannelCorrectionAlg
     acc.addEventAlgo(TileRawChannelCorrectionAlg(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileRecUtils/python/TileRawChannelMakerConfig.py b/TileCalorimeter/TileRecUtils/python/TileRawChannelMakerConfig.py
index b418910a0ec985a458381da35fb643299f816334..668e15c20cd796f978a196b379890678a40b38e4 100644
--- a/TileCalorimeter/TileRecUtils/python/TileRawChannelMakerConfig.py
+++ b/TileCalorimeter/TileRecUtils/python/TileRawChannelMakerConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile raw channel maker algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileRawChannelMakerCfg(flags, **kwargs):
     """Return component accumulator with configured Tile raw channel maker algorithm
@@ -64,7 +65,7 @@ def TileRawChannelMakerCfg(flags, **kwargs):
 
     kwargs.setdefault('TileRawChannelBuilder', tileRawChannelBuilder)
 
-    from TileRecUtils.TileRecUtilsConf import TileRawChannelMaker
+    TileRawChannelMaker=CompFactory.TileRawChannelMaker
     acc.addEventAlgo(TileRawChannelMaker(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py b/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
index a389fdce3f32abdf7ac433c44bf28b64df648166..49140fb887f62d07108da36913097eb374ff423a 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileDigitsMakerConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile digits maker algorithm"""
 
 from TileSimAlgs.TileHitVecToCntConfig import TileHitVecToCntCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileDigitsMakerCfg(flags, **kwargs):
     """Return component accumulator with configured Tile digits maker algorithm
@@ -57,7 +58,7 @@ def TileDigitsMakerCfg(flags, **kwargs):
         tileNoise = False
         tileCoherNoise = False
 
-        from PileUpTools.PileUpToolsConf import PileUpMergeSvc
+        PileUpMergeSvc=CompFactory.PileUpMergeSvc
         acc.addService( PileUpMergeSvc() )
 
         from TileRecUtils.TileDQstatusConfig import TileDQstatusToolCfg
@@ -108,7 +109,7 @@ def TileDigitsMakerCfg(flags, **kwargs):
 
     kwargs.setdefault('IntegerDigits', not flags.Digitization.PileUpPremixing)
 
-    from TileSimAlgs.TileSimAlgsConf import TileDigitsMaker
+    TileDigitsMaker=CompFactory.TileDigitsMaker
     digitsMaker = TileDigitsMaker(**kwargs)
 
     acc.addEventAlgo(digitsMaker, primary = True)
diff --git a/TileCalorimeter/TileSimAlgs/python/TileHitToTTL1Config.py b/TileCalorimeter/TileSimAlgs/python/TileHitToTTL1Config.py
index b90cb7f983376f3878240f239e9c306814736b68..ef146b95f822d7f3b0fd7aa7b09284ec11448a94 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileHitToTTL1Config.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileHitToTTL1Config.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile hits to TTL1 algorithm"""
 
 from TileSimAlgs.TileHitVecToCntConfig import TileHitVecToCntCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileHitToTTL1Cfg(flags, **kwargs):
     """Return component accumulator with configured Tile hits to TTL1 algorithm
@@ -43,7 +44,7 @@ def TileHitToTTL1Cfg(flags, **kwargs):
         kwargs.setdefault('TileTTL1Container', 'TileTTL1Cnt')
         kwargs.setdefault('TileMBTSTTL1Container', 'TileTTL1MBTS')
 
-    from TileSimAlgs.TileSimAlgsConf import TileHitToTTL1
+    TileHitToTTL1=CompFactory.TileHitToTTL1
     acc.addEventAlgo(TileHitToTTL1(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileSimAlgs/python/TileHitVecToCntConfig.py b/TileCalorimeter/TileSimAlgs/python/TileHitVecToCntConfig.py
index 2c6ef58132c96c7e966fef1db8d263495dbcec6b..a60ec6838223646628e927421a28e8d6e0f5d125 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileHitVecToCntConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileHitVecToCntConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured private Tile hit vector to container tool"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
 
 def getTileFirstXing():
@@ -19,7 +20,7 @@ def getTileRange(name = 'TileRange', **kwargs):
     kwargs.setdefault('LastXing',  getTileLastXing() )
     kwargs.setdefault('ItemList', ['TileHitVector#TileHitVec', 'TileHitVector#MBTSHits'] )
 
-    from PileUpComps.PileUpCompsConf import PileUpXingFolder
+    PileUpXingFolder=CompFactory.PileUpXingFolder
     return PileUpXingFolder(name, **kwargs)
 
 
@@ -61,11 +62,11 @@ def TileHitVecToCntToolCfg(flags, **kwargs):
         kwargs.setdefault('PileUp', flags.Digitization.Pileup)
 
     if kwargs['RndmEvtOverlay'] or kwargs['PileUp']:
-        from PileUpTools.PileUpToolsConf import PileUpMergeSvc
+        PileUpMergeSvc=CompFactory.PileUpMergeSvc
         acc.addService( PileUpMergeSvc() )
 
     if flags.Beam.Type == 'cosmics':
-        from CommissionUtils.CommissionUtilsConf import CosmicTriggerTimeTool
+        CosmicTriggerTimeTool=CompFactory.CosmicTriggerTimeTool
         kwargs.setdefault('TriggerTimeTool', CosmicTriggerTimeTool())
         kwargs.setdefault('HitTimeFlag', 2)
         kwargs.setdefault('UseTriggerTime', True)
@@ -74,7 +75,7 @@ def TileHitVecToCntToolCfg(flags, **kwargs):
         kwargs.setdefault("FirstXing", getTileFirstXing() )
         kwargs.setdefault("LastXing",  getTileLastXing() )
 
-    from TileSimAlgs.TileSimAlgsConf import TileHitVecToCntTool
+    TileHitVecToCntTool=CompFactory.TileHitVecToCntTool
     acc.setPrivateTools(TileHitVecToCntTool(**kwargs))
 
     return acc
@@ -95,7 +96,7 @@ def TileHitVecToCntCfg(flags, **kwargs):
         tool = acc.popToolsAndMerge( TileHitVecToCntToolCfg(flags) )
         kwargs.setdefault('DigitizationTool', tool)
 
-    from TileSimAlgs.TileSimAlgsConf import TileHitVecToCnt
+    TileHitVecToCnt=CompFactory.TileHitVecToCnt
     acc.addEventAlgo(TileHitVecToCnt(**kwargs))
 
     return acc
diff --git a/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverConfig.py b/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverConfig.py
index 9219c1c2a06938d9c8d437a30183ecb4f7cade93..af4aefb284fb323baa20cd33119918ebf911ecac 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile pulse for muon receiver algorithm"""
 
 from TileSimAlgs.TileHitVecToCntConfig import TileHitVecToCntCfg
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TilePulseForTileMuonReceiverCfg(flags, **kwargs):
     """Return component accumulator with configured Tile muon receiver algorithm
@@ -83,7 +84,7 @@ def TilePulseForTileMuonReceiverCfg(flags, **kwargs):
     else:
         kwargs.setdefault('MuonReceiverDigitsContainer', 'MuRcvDigitsCnt')
 
-    from TileSimAlgs.TileSimAlgsConf import TilePulseForTileMuonReceiver
+    TilePulseForTileMuonReceiver=CompFactory.TilePulseForTileMuonReceiver
     acc.addEventAlgo(TilePulseForTileMuonReceiver(**kwargs), primary = True)
 
     return acc
diff --git a/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverDecisionConfig.py b/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverDecisionConfig.py
index 78f3cb51dc14238222079a7b636df258f5c75272..8cf3d66bce7861d070cd28780cd0f45c55e30c81 100644
--- a/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverDecisionConfig.py
+++ b/TileCalorimeter/TileSimAlgs/python/TileMuonReceiverDecisionConfig.py
@@ -3,6 +3,7 @@
 """Define method to construct configured Tile muon receiver decision algorithm"""
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def TileMuonReceiverDecisionCfg(flags, **kwargs):
     """Return component accumulator with configured Tile muon receiver decision algorithm
@@ -17,7 +18,7 @@ def TileMuonReceiverDecisionCfg(flags, **kwargs):
 
     acc = ComponentAccumulator()
 
-    from TileSimAlgs.TileSimAlgsConf import TileMuonReceiverDecision
+    TileMuonReceiverDecision=CompFactory.TileMuonReceiverDecision
     muRcvDecisionAlg = TileMuonReceiverDecision(name,
                                                 MuonReceiverEneThreshCellD6Low = 500,
                                                 MuonReceiverEneThreshCellD6andD5Low = 500,
diff --git a/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvcConfig.py b/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvcConfig.py
index e20475a9bc9f2b8162c91b0a5c047561b4684d88..d95d56675d78032ecf1feb2f6c9fabc9208ae05c 100644
--- a/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvcConfig.py
+++ b/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvcConfig.py
@@ -1,8 +1,9 @@
 # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from TrkDetDescrSvc.TrkDetDescrSvcConf import Trk__TrackingGeometrySvc
-from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__GeometryBuilder
+from AthenaConfiguration.ComponentFactory import CompFactory
+Trk__TrackingGeometrySvc=CompFactory.Trk__TrackingGeometrySvc
+Trk__GeometryBuilder=CompFactory.Trk__GeometryBuilder
 from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
 from SubDetectorEnvelopes.SubDetectorEnvelopesConfig import getEnvelopeDefSvc
 
@@ -34,7 +35,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
   # i.e. this is far from complete, but is better than what was there before.
   
   # beampipe        
-  from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__BeamPipeBuilder
+  InDet__BeamPipeBuilder=CompFactory.InDet__BeamPipeBuilder
   beamPipeBuilder = InDet__BeamPipeBuilder(name=namePrefix+'BeamPipeBuilder')
 
   result.addPublicTool(beamPipeBuilder)
@@ -44,7 +45,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
 
   # Pixel
   if flags.Detector.GeometryPixel:
-    from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__SiLayerBuilder
+    InDet__SiLayerBuilder=CompFactory.InDet__SiLayerBuilder
     PixelLayerBuilder = InDet__SiLayerBuilder(name=namePrefix+'PixelLayerBuilder')
     PixelLayerBuilder.PixelCase 	       = True
     PixelLayerBuilder.Identification       = 'Pixel'
@@ -71,7 +72,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
 
   if flags.Detector.GeometrySCT:
     # SCT building
-    from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__SiLayerBuilder
+    InDet__SiLayerBuilder=CompFactory.InDet__SiLayerBuilder
     SCT_LayerBuilder = InDet__SiLayerBuilder(name=namePrefix+'SCT_LayerBuilder')
     SCT_LayerBuilder.PixelCase                       = False
     SCT_LayerBuilder.Identification                  = 'SCT'
@@ -94,7 +95,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
     colors        += [ 4 ]
 
   if flags.Detector.GeometryTRT:                                                      
-    from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__TRT_LayerBuilder
+    InDet__TRT_LayerBuilder=CompFactory.InDet__TRT_LayerBuilder
     TRT_LayerBuilder = InDet__TRT_LayerBuilder(name=namePrefix+'TRT_LayerBuilder')
     # TRT barrel specifications - assume defaults
     # SCT endcap specifications - assume defaults
@@ -113,27 +114,27 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
     colors        += [ 5 ]
 
   # helpers for the InDetTrackingGeometry Builder : layer array creator
-  from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__LayerArrayCreator
+  Trk__LayerArrayCreator=CompFactory.Trk__LayerArrayCreator
   InDetLayerArrayCreator = Trk__LayerArrayCreator(name = 'InDetLayerArrayCreator')
   InDetLayerArrayCreator.EmptyLayerMode           = 2 # deletes empty material layers from arrays
   # add to ToolSvc
   result.addPublicTool(InDetLayerArrayCreator)  
 
   # helpers for the InDetTrackingGeometry Builder : volume array creator
-  from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__TrackingVolumeArrayCreator
+  Trk__TrackingVolumeArrayCreator=CompFactory.Trk__TrackingVolumeArrayCreator
   InDetTrackingVolumeArrayCreator                       = Trk__TrackingVolumeArrayCreator(name = 'InDetTrackingVolumeArrayCreator')
   # add to ToolSvc
   result.addPublicTool(InDetTrackingVolumeArrayCreator)  
 
   # helpers for the InDetTrackingGeometry Builder : tracking voluem helper for glueing
-  from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__TrackingVolumeHelper
+  Trk__TrackingVolumeHelper=CompFactory.Trk__TrackingVolumeHelper
   InDetTrackingVolumeHelper                             = Trk__TrackingVolumeHelper(name ='InDetTrackingVolumeHelper')
   # the material bins - assume defaults
   # add to ToolSvc
   result.addPublicTool(InDetTrackingVolumeHelper)  
   
   # helpers for the InDetTrackingGeometry Builder : cylinder volume creator
-  from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__CylinderVolumeCreator
+  Trk__CylinderVolumeCreator=CompFactory.Trk__CylinderVolumeCreator
   InDetCylinderVolumeCreator = Trk__CylinderVolumeCreator(name = 'InDetCylinderVolumeCreator')
   # give it the layer array creator - assume defaults
   # specifiy the binning, passive layers, entry layers - assume defaults
@@ -141,7 +142,7 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
   result.addPublicTool(InDetCylinderVolumeCreator)  
 
   # the tracking geometry builder
-  from InDetTrackingGeometry.InDetTrackingGeometryConf import InDet__RobustTrackingGeometryBuilder
+  InDet__RobustTrackingGeometryBuilder=CompFactory.InDet__RobustTrackingGeometryBuilder
   return InDet__RobustTrackingGeometryBuilder(namePrefix+name,
                                                 BeamPipeBuilder   = beamPipeBuilder,
                                                 LayerBuilders     = layerbuilders,
@@ -165,16 +166,16 @@ def _getInDetTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc,
 # Replaces https://gitlab.cern.ch/atlas/athena/blob/master/Calorimeter/CaloTrackingGeometry/python/ConfiguredCaloTrackingGeometryBuilder.py
 def _getCaloTrackingGeometryBuilder(name, flags,result, envelopeDefinitionSvc, trackingVolumeHelper, namePrefix=''):
   # The following replaces LArCalorimeter/LArTrackingGeometry/python/ConfiguredLArVolumeBuilder.py
-  from LArTrackingGeometry.LArTrackingGeometryConf import LAr__LArVolumeBuilder
+  LAr__LArVolumeBuilder=CompFactory.LAr__LArVolumeBuilder
   lArVolumeBuilder = LAr__LArVolumeBuilder(TrackingVolumeHelper = trackingVolumeHelper,)
   result.addPublicTool(lArVolumeBuilder)
   
   # The following replaces TileCalorimeter/TileTrackingGeometry/python/ConfiguredTileVolumeBuilder.py
-  from TileTrackingGeometry.TileTrackingGeometryConf import Tile__TileVolumeBuilder
+  Tile__TileVolumeBuilder=CompFactory.Tile__TileVolumeBuilder
   tileVolumeBuilder = Tile__TileVolumeBuilder( TrackingVolumeHelper = trackingVolumeHelper,  )
   result.addPublicTool(tileVolumeBuilder)
   
-  from CaloTrackingGeometry.CaloTrackingGeometryConf import Calo__CaloTrackingGeometryBuilder
+  Calo__CaloTrackingGeometryBuilder=CompFactory.Calo__CaloTrackingGeometryBuilder
   return Calo__CaloTrackingGeometryBuilder(namePrefix+name, LArVolumeBuilder = lArVolumeBuilder,
                                                    TileVolumeBuilder = tileVolumeBuilder,
                                                    TrackingVolumeHelper = trackingVolumeHelper,
@@ -204,11 +205,11 @@ def TrackingGeometrySvcCfg( flags , name = 'AtlasTrackingGeometrySvc', doMateria
       atlas_geometry_builder.InDetTrackingGeometryBuilder = inDetTrackingGeometryBuilder
       
     if flags.Detector.GeometryCalo:
-      from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__CylinderVolumeCreator
+      Trk__CylinderVolumeCreator=CompFactory.Trk__CylinderVolumeCreator
       caloVolumeCreator = Trk__CylinderVolumeCreator("CaloVolumeCreator")
       result.addPublicTool(caloVolumeCreator)
 
-      from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__TrackingVolumeHelper
+      Trk__TrackingVolumeHelper=CompFactory.Trk__TrackingVolumeHelper
       trackingVolumeHelper = Trk__TrackingVolumeHelper(name='TrackingVolumeHelper')
       result.addPublicTool(trackingVolumeHelper)
 
@@ -218,20 +219,20 @@ def TrackingGeometrySvcCfg( flags , name = 'AtlasTrackingGeometrySvc', doMateria
 
     if flags.Detector.GeometryMuon:
       # Copied from from MuonTrackingGeometry.ConfiguredMuonTrackingGeometry import MuonTrackingGeometryBuilder
-      from MuonTrackingGeometry.MuonTrackingGeometryConf import Muon__MuonStationTypeBuilder
+      Muon__MuonStationTypeBuilder=CompFactory.Muon__MuonStationTypeBuilder
       muonStationTypeBuilder= Muon__MuonStationTypeBuilder(name = 'MuonStationTypeBuilder')
       result.addPublicTool(muonStationTypeBuilder)
     
-      from MuonTrackingGeometry.MuonTrackingGeometryConf import Muon__MuonStationBuilder
+      Muon__MuonStationBuilder=CompFactory.Muon__MuonStationBuilder
       muonStationBuilder= Muon__MuonStationBuilder(name = 'MuonStationBuilder')
       muonStationBuilder.StationTypeBuilder = muonStationTypeBuilder
       result.addPublicTool(muonStationBuilder)
 
-      from MuonTrackingGeometry.MuonTrackingGeometryConf import Muon__MuonInertMaterialBuilder
+      Muon__MuonInertMaterialBuilder=CompFactory.Muon__MuonInertMaterialBuilder
       muonInertMaterialBuilder= Muon__MuonInertMaterialBuilder(name = 'MuonInertMaterialBuilder')
       result.addPublicTool(muonInertMaterialBuilder)
 
-      from MuonTrackingGeometry.MuonTrackingGeometryConf import Muon__MuonTrackingGeometryBuilder
+      Muon__MuonTrackingGeometryBuilder=CompFactory.Muon__MuonTrackingGeometryBuilder
       muonTrackingGeometryBuilder= Muon__MuonTrackingGeometryBuilder(name = 'MuonTrackingGeometryBuilder', EnvelopeDefinitionSvc=atlas_env_def_service)
       result.addPublicTool(muonTrackingGeometryBuilder)
     
@@ -243,19 +244,19 @@ def TrackingGeometrySvcCfg( flags , name = 'AtlasTrackingGeometrySvc', doMateria
     if flags.TrackingGeometry.MaterialSource == 'COOL':
        CoolDataBaseFolder = '/GLOBAL/TrackingGeo/LayerMaterialV2' # Was from TrkDetFlags.MaterialStoreGateKey()
        # the material provider
-       from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__LayerMaterialProvider
+       Trk__LayerMaterialProvider=CompFactory.Trk__LayerMaterialProvider
        atlasMaterialProvider = Trk__LayerMaterialProvider('AtlasMaterialProvider', LayerMaterialMapName=CoolDataBaseFolder)
        atlas_geometry_processors += [ atlasMaterialProvider ]
 
        # Setup DBs
        result.merge(_setupCondDB(flags, CoolDataBaseFolder))
     elif  flags.TrackingGeometry.MaterialSource == 'Input':
-      from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__InputLayerMaterialProvider
+      Trk__InputLayerMaterialProvider=CompFactory.Trk__InputLayerMaterialProvider
       atlasMaterialProvider = Trk__InputLayerMaterialProvider('AtlasMaterialProvider')
       atlas_geometry_processors += [ atlasMaterialProvider ]
       
     if doMaterialValidation:
-      from TrkDetDescrTestTools.TrkDetDescrTestToolsConf import Trk__LayerMaterialInspector
+      Trk__LayerMaterialInspector=CompFactory.Trk__LayerMaterialInspector
       atlasLayerMaterialInspector = Trk__LayerMaterialInspector('AtlasLayerMaterialInspector')
       atlas_geometry_processors += [ atlasLayerMaterialInspector ]
 
diff --git a/Tracking/TrkEventCnv/TrkEventAthenaPool/python/TrackCollectionReadConfig.py b/Tracking/TrkEventCnv/TrkEventAthenaPool/python/TrackCollectionReadConfig.py
index 84a1011819ddb5a7805dfc97b8a886dcfa69b1f2..13be290062348a0f1bc29768fb4c98479c579f86 100644
--- a/Tracking/TrkEventCnv/TrkEventAthenaPool/python/TrackCollectionReadConfig.py
+++ b/Tracking/TrkEventCnv/TrkEventAthenaPool/python/TrackCollectionReadConfig.py
@@ -8,6 +8,7 @@
 # so to read TrackCollection property in MT, we need to use an algorithm.
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 
 
@@ -58,7 +59,7 @@ in the input file."""
         aliases = ['Tracks']
 
     # Configure the algorithm.
-    from AthenaServices.AthenaServicesConf import AthReadAlg
+    AthReadAlg=CompFactory.AthReadAlg
     alg = AthReadAlg ('TrackCollectionRead_' + key,
                       Key = 'TrackCollection/' + key,
                       Aliases = aliases,
diff --git a/Tracking/TrkExtrapolation/TrkExEngine/python/AtlasExtrapolationEngineConfig.py b/Tracking/TrkExtrapolation/TrkExEngine/python/AtlasExtrapolationEngineConfig.py
index a4ad619b99699848f49ea99fed355fe8493da6b7..924ea53ccb178b7d568ce8d2d847c9b917ff3970 100644
--- a/Tracking/TrkExtrapolation/TrkExEngine/python/AtlasExtrapolationEngineConfig.py
+++ b/Tracking/TrkExtrapolation/TrkExEngine/python/AtlasExtrapolationEngineConfig.py
@@ -5,6 +5,7 @@
 # Based heavily on AtlasExtrapolationEngine.py
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 
 # import the ExtrapolationEngine configurable
@@ -27,7 +28,7 @@ def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atla
     result.addPublicTool(rungeKuttaPropagator) #TODO remove one day
       
     # from the Propagator create a Propagation engine to handle path length
-    from TrkExEngine.TrkExEngineConf import Trk__PropagationEngine
+    Trk__PropagationEngine=CompFactory.Trk__PropagationEngine
     staticPropagator = Trk__PropagationEngine(name = nameprefix+'StaticPropagation')
     # give the tools it needs 
     staticPropagator.Propagator               = rungeKuttaPropagator
@@ -37,7 +38,7 @@ def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atla
     result.addPublicTool(staticPropagator) #TODO remove one day
        
     # load the material effects engine
-    from TrkExEngine.TrkExEngineConf import Trk__MaterialEffectsEngine
+    Trk__MaterialEffectsEngine=CompFactory.Trk__MaterialEffectsEngine
     materialEffectsEngine = Trk__MaterialEffectsEngine(name = nameprefix+'MaterialEffects')
     # configure output formatting               
     materialEffectsEngine.OutputPrefix        = '[ME] - '
@@ -46,7 +47,7 @@ def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atla
 
         
     # load the static navigation engine
-    from TrkExEngine.TrkExEngineConf import Trk__StaticNavigationEngine
+    Trk__StaticNavigationEngine=CompFactory.Trk__StaticNavigationEngine
     staticNavigator = Trk__StaticNavigationEngine(name = nameprefix+'StaticNavigation')
     # give the tools it needs 
     staticNavigator.PropagationEngine        = staticPropagator
@@ -60,7 +61,7 @@ def AtlasExtrapolationEngineCfg( flags, name = 'Extrapolation', nameprefix='Atla
     result.addPublicTool(staticNavigator) #TODO remove one day
     
     # load the Static ExtrapolationEngine
-    from TrkExEngine.TrkExEngineConf import Trk__StaticEngine
+    Trk__StaticEngine=CompFactory.Trk__StaticEngine
     staticExtrapolator = Trk__StaticEngine(name = nameprefix+'StaticExtrapolation')
     # give the tools it needs 
     staticExtrapolator.PropagationEngine        = staticPropagator
diff --git a/Tracking/TrkExtrapolation/TrkExTools/python/AtlasExtrapolatorConfig.py b/Tracking/TrkExtrapolation/TrkExTools/python/AtlasExtrapolatorConfig.py
index 666dc36a08abf41ef6729f1aef2596515a7acdcc..c5f4386fbea4e55e510a3ed4624390c8b5f8167d 100644
--- a/Tracking/TrkExtrapolation/TrkExTools/python/AtlasExtrapolatorConfig.py
+++ b/Tracking/TrkExtrapolation/TrkExTools/python/AtlasExtrapolatorConfig.py
@@ -4,10 +4,11 @@
 # Based heavily on AtlasExtrapolator.py
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
 
 # import the Extrapolator configurable
-from TrkExTools.TrkExToolsConf import Trk__Extrapolator
+Trk__Extrapolator=CompFactory.Trk__Extrapolator
 
 # define the class
 def AtlasExtrapolatorCfg( flags, name = 'AtlasExtrapolator' ):
@@ -55,7 +56,7 @@ def AtlasExtrapolatorCfg( flags, name = 'AtlasExtrapolator' ):
        AtlasUpdators    += [ AtlasMaterialEffectsUpdatorLandau ]
 
        # the UNIQUE NAVIGATOR ( === UNIQUE GEOMETRY) --------------------------------------------------------------
-       from TrkExTools.TrkExToolsConf import Trk__Navigator
+       Trk__Navigator=CompFactory.Trk__Navigator
        AtlasNavigator = Trk__Navigator(name = 'AtlasNavigator')
        AtlasNavigator.TrackingGeometrySvc = geom_svc
        result.addPublicTool(AtlasNavigator) #TODO remove one day
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/MdtDataPreparator_test.py b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/MdtDataPreparator_test.py
index c13e79e5e49141e9ba7b8d7c353079881f11262d..0e6060024276fb859101e2e7ef6e3e5536ee8062 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/MdtDataPreparator_test.py
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/MdtDataPreparator_test.py
@@ -10,6 +10,7 @@
 
 
 from __future__ import print_function
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaPython.PyAthenaComps import Alg, StatusCode
@@ -43,7 +44,7 @@ def testCfg (configFlags):
     from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
     result.merge (MagneticFieldSvcCfg(configFlags, UseDCS = False))
 
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MdtDataPreparator
+    TrigL2MuonSA__MdtDataPreparator=CompFactory.TrigL2MuonSA__MdtDataPreparator
     result.addPublicTool (TrigL2MuonSA__MdtDataPreparator ('TrigL2MuonSA::MdtDataPreparator', OutputLevel = 1))
     
     result.addEventAlgo (TestAlg ('TestAlg'))
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py
index 5b25db354371c98f92918d39b246e1c61444989f..e7f1b1d3b212d71def85af74bd6927b5ffdd7247 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAConfig_newJO.py
@@ -6,6 +6,7 @@
 #  This should be moved at somewhere in offline.
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 ### Output Name ###
 muFastInfo = "MuonL2SAInfo"
@@ -28,7 +29,7 @@ def RpcDataPreparatorCfg( flags, roisKey ):
     acc.merge( rpcAcc )
 
     # Set Rpc data preparator for MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__RpcDataPreparator
+    TrigL2MuonSA__RpcDataPreparator=CompFactory.TrigL2MuonSA__RpcDataPreparator
     RpcDataPreparator = TrigL2MuonSA__RpcDataPreparator( RpcPrepDataProvider  = "",
                                                          RpcRawDataProvider   = "",
                                                          DecodeBS = False,
@@ -55,7 +56,7 @@ def TgcDataPreparatorCfg( flags, roisKey ):
     acc.merge( tgcAcc )
 
     # Set Tgc data preparator for MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__TgcDataPreparator
+    TrigL2MuonSA__TgcDataPreparator=CompFactory.TrigL2MuonSA__TgcDataPreparator
     TgcDataPreparator = TrigL2MuonSA__TgcDataPreparator( TgcPrepDataProvider  = "",
                                                          TgcRawDataProvider   = "",
                                                          DecodeBS = False,
@@ -82,7 +83,7 @@ def MdtDataPreparatorCfg( flags, roisKey ):
     acc.merge( mdtAcc )
 
     # Set Mdt data preparator for MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MdtDataPreparator
+    TrigL2MuonSA__MdtDataPreparator=CompFactory.TrigL2MuonSA__MdtDataPreparator
     MdtDataPreparator = TrigL2MuonSA__MdtDataPreparator( MdtPrepDataProvider  = "",
                                                          MDT_RawDataProvider   = "",
                                                          DecodeBS = False,
@@ -113,7 +114,7 @@ def CscDataPreparatorCfg( flags, roisKey ):
     acc.merge( cscAcc )
 
     # Set Csc data preparator for MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__CscDataPreparator
+    TrigL2MuonSA__CscDataPreparator=CompFactory.TrigL2MuonSA__CscDataPreparator
     CscDataPreparator = TrigL2MuonSA__CscDataPreparator( CscPrepDataProvider  = "",
                                                          CscClusterProvider   = "",
                                                          CscRawDataProvider   = "",
@@ -146,14 +147,14 @@ def muFastSteeringCfg( flags, roisKey, setup="" ):
     acc.merge( cscAcc )
 
     # Set MuFast data preparator
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MuFastDataPreparator
+    TrigL2MuonSA__MuFastDataPreparator=CompFactory.TrigL2MuonSA__MuFastDataPreparator
     MuFastDataPreparator = TrigL2MuonSA__MuFastDataPreparator( CSCDataPreparator = CscDataPreparator,
                                                                MDTDataPreparator = MdtDataPreparator,
                                                                RPCDataPreparator = RpcDataPreparator,
                                                                TGCDataPreparator = TgcDataPreparator )
 
     # Setup the station fitter
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MuFastStationFitter,TrigL2MuonSA__PtFromAlphaBeta
+    TrigL2MuonSA__MuFastStationFitter,TrigL2MuonSA__PtFromAlphaBeta=CompFactory.getComps("TrigL2MuonSA__MuFastStationFitter","TrigL2MuonSA__PtFromAlphaBeta")
     PtFromAlphaBeta = TrigL2MuonSA__PtFromAlphaBeta()
     if flags.Trigger.run2Config == '2016':
         PtFromAlphaBeta.useCscPt = False
@@ -164,7 +165,7 @@ def muFastSteeringCfg( flags, roisKey, setup="" ):
 
     MuFastStationFitter = TrigL2MuonSA__MuFastStationFitter( PtFromAlphaBeta = PtFromAlphaBeta )
 
-    from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__MuFastPatternFinder,TrigL2MuonSA__MuFastTrackFitter,TrigL2MuonSA__MuFastTrackExtrapolator,TrigL2MuonSA__MuCalStreamerTool,TrigL2MuonSA__CscSegmentMaker
+    TrigL2MuonSA__MuFastPatternFinder,TrigL2MuonSA__MuFastTrackFitter,TrigL2MuonSA__MuFastTrackExtrapolator,TrigL2MuonSA__MuCalStreamerTool,TrigL2MuonSA__CscSegmentMaker=CompFactory.getComps("TrigL2MuonSA__MuFastPatternFinder","TrigL2MuonSA__MuFastTrackFitter","TrigL2MuonSA__MuFastTrackExtrapolator","TrigL2MuonSA__MuCalStreamerTool","TrigL2MuonSA__CscSegmentMaker")
     MuFastPatternFinder     = TrigL2MuonSA__MuFastPatternFinder()
     MuFastTrackFitter       = TrigL2MuonSA__MuFastTrackFitter()
     MuFastTrackExtrapolator = TrigL2MuonSA__MuFastTrackExtrapolator()
@@ -173,7 +174,7 @@ def muFastSteeringCfg( flags, roisKey, setup="" ):
 
     # Set Reco alg of muFast step
     from TrigL2MuonSA.TrigL2MuonSAMonitoring import TrigL2MuonSAMonitoring
-    from TrigL2MuonSA.TrigL2MuonSAConf import MuFastSteering
+    MuFastSteering=CompFactory.MuFastSteering
     muFastAlg = MuFastSteering( name                   = "MuFastSteering_Muon"+setup,
                                 DataPreparator         = MuFastDataPreparator,
                                 StationFitter          = MuFastStationFitter,
@@ -192,7 +193,7 @@ def muFastSteeringCfg( flags, roisKey, setup="" ):
 
     # Default backextrapolator is for MC Misaligned Detector
     # Based on MuonBackExtrapolatorForMisalignedDet at TrigMuonBackExtrapolator/TrigMuonBackExtrapolatorConfig.py
-    from TrigMuonBackExtrapolator.TrigMuonBackExtrapolatorConf import TrigMuonBackExtrapolator
+    TrigMuonBackExtrapolator=CompFactory.TrigMuonBackExtrapolator
     muFastAlg.BackExtrapolator = TrigMuonBackExtrapolator( name        = "MisalignedBackExtrapolator",
                                                            Aligned     = False,
                                                            DataSet     = False )
@@ -317,7 +318,7 @@ def l2MuFastRecoCfg( flags ):
 
 def l2MuFastHypoCfg( flags, name="UNSPECIFIED", muFastInfo="UNSPECIFIED" ):
 
-    from TrigMuonHypoMT.TrigMuonHypoMTConf import TrigMufastHypoAlg
+    TrigMufastHypoAlg=CompFactory.TrigMufastHypoAlg
     muFastHypo = TrigMufastHypoAlg( name )
     muFastHypo.MuonL2SAInfoFromMuFastAlg = muFastInfo 
 
diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/TrigCaloDataAccessConfig.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/TrigCaloDataAccessConfig.py
index d510da97c032ca5b524175ca7602c1a046024fa7..fd6bb32df44d6dac4d7215fc2e1e7e4c0fdcf1ae 100644
--- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/TrigCaloDataAccessConfig.py
+++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/TrigCaloDataAccessConfig.py
@@ -1,20 +1,21 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 def createLArRoI_Map( flags ):
     acc = ComponentAccumulator()
-    from LArRawUtils.LArRawUtilsConf import LArRoI_Map
+    LArRoI_Map=CompFactory.LArRoI_Map
 
     from IOVDbSvc.IOVDbSvcConfig import addFolders
     from LArCabling.LArCablingConfig import LArFebRodMappingCfg, LArCalibIdMappingCfg
 
-    from LArCabling.LArCablingConf import LArCablingLegacyService
+    LArCablingLegacyService=CompFactory.LArCablingLegacyService
     cablingTool = LArCablingLegacyService() # this is realy a tool
     # needed by above
     acc.merge( LArFebRodMappingCfg( flags ))
     acc.merge( LArCalibIdMappingCfg( flags ))
 
-    from CaloTriggerTool.CaloTriggerToolConf import CaloTriggerTowerService
+    CaloTriggerTowerService=CompFactory.CaloTriggerTowerService
     triggerTowerTool = CaloTriggerTowerService()                                              
     acc.merge(addFolders(flags, ['/LAR/Identifier/LArTTCellMapAtlas'], 'LAR'))
     acc.merge(addFolders(flags, ['/LAR/Identifier/OnOffIdMap'], 'LAR'))
@@ -101,7 +102,7 @@ if __name__ == "__main__":
 
     acc.merge( trigCaloDataAccessSvcCfg( ConfigFlags ) )
     
-    from TrigT2CaloCommon.TrigT2CaloCommonConf import TestCaloDataAccess
+    TestCaloDataAccess=CompFactory.TestCaloDataAccess
     testAlg = TestCaloDataAccess()
     acc.addEventAlgo(testAlg)    
     
diff --git a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py
index 335f5c1d3d35c3795916a98ab5c19f7064df0923..432c185946114c1ec4d1150e58577c03ae1d7659 100644
--- a/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py
+++ b/Trigger/TrigAlgorithms/TrigT2CaloEgamma/python/TrigT2CaloEgammaMTConfig.py
@@ -1,9 +1,9 @@
 #
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
-from TrigT2CaloEgamma.TrigT2CaloEgammaConf import T2CaloEgammaReFastAlgo
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-
+T2CaloEgammaReFastAlgo=CompFactory.T2CaloEgammaReFastAlgo
 
 def fastL2EgammaClusteringAlg( flags, roisKey="EMCaloRoIs", doRinger=False):
 
@@ -21,7 +21,7 @@ def fastL2EgammaClusteringAlg( flags, roisKey="EMCaloRoIs", doRinger=False):
     acc.merge( TileBadChannelsCondAlgCfg(flags) )
 
     # configure tools (this can be simplified further,
-    from TrigT2CaloEgamma.TrigT2CaloEgammaConf import EgammaReEmEnFex, EgammaReHadEnFex, EgammaReSamp1Fex, EgammaReSamp2Fex
+    EgammaReEmEnFex, EgammaReHadEnFex, EgammaReSamp1Fex, EgammaReSamp2Fex=CompFactory.getComps("EgammaReEmEnFex","EgammaReHadEnFex","EgammaReSamp1Fex","EgammaReSamp2Fex",)
 
     samp2 = EgammaReSamp2Fex(name='FaAlgoSamp2FexConfig', MaxDetaHotCell=0.15, MaxDphiHotCell=0.15)
     acc.addPublicTool( samp2 )
diff --git a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py
index 229b3eae86237353f15d892b18f2db882ac92903..3514038b9872662c3b7c7e6c01c846d064d3186d 100644
--- a/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py
+++ b/Trigger/TrigAlgorithms/TrigmuComb/python/TrigmuCombConfig_newJO.py
@@ -3,6 +3,7 @@
 #  This file configs the muComb reco alg with the newJO
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 muFastInfo="MuonL2SAInfo"
 muCombInfo="HLT_MuonL2CBInfo"
@@ -70,7 +71,7 @@ def l2MuCombRecoCfg(flags):
 
 def l2MuCombHypoCfg(flags, name="UNSPECIFIED", muCombInfo="UNSPECIFIED"):
 
-    from TrigMuonHypoMT.TrigMuonHypoMTConf import TrigmuCombHypoAlg
+    TrigmuCombHypoAlg=CompFactory.TrigmuCombHypoAlg
     muCombHypo = TrigmuCombHypoAlg(name)
     muCombHypo.MuonL2CBInfoFromMuCombAlg=muCombInfo
 
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/InDetConfig.py b/Trigger/TrigTools/TrigInDetConfig/python/InDetConfig.py
index 12a0a37f10a255feb67e4f6441724d2388f2cae1..f88b8ce4cf6ae6382ed71be7e3739df30f6c748d 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/InDetConfig.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/InDetConfig.py
@@ -3,6 +3,7 @@
 #
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 class InDetCacheNames(object):
   Pixel_ClusterKey   = "PixelTrigClustersCache"
@@ -15,7 +16,7 @@ class InDetCacheNames(object):
 def InDetIDCCacheCreatorCfg():
   #Create IdentifiableCaches
   acc = ComponentAccumulator()
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__CacheCreator
+  InDet__CacheCreator=CompFactory.InDet__CacheCreator
   InDetCacheCreatorTrig = InDet__CacheCreator(name = "InDetCacheCreatorTrig",
                                               Pixel_ClusterKey   = InDetCacheNames.Pixel_ClusterKey,
                                               SCT_ClusterKey     = InDetCacheNames.SCT_ClusterKey,
@@ -42,7 +43,7 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFoldersSplitOnline(flags, "INDET","/Indet/Onl/AlignL3","/Indet/AlignL3",className="AlignableTransformContainer"))
   acc.merge(addFoldersSplitOnline(flags, "INDET","/Indet/Onl/IBLDist","/Indet/IBLDist",className="CondAttrListCollection"))
 
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_DCSConditionsTool
+  SCT_DCSConditionsTool=CompFactory.SCT_DCSConditionsTool
   dcsTool = SCT_DCSConditionsTool(ReadAllDBFolders = True, ReturnHVTemp = True)
 
   from SCT_ConditionsTools.SCT_SiliconConditionsToolSetup import SCT_SiliconConditionsToolSetup
@@ -55,54 +56,54 @@ def TrigInDetCondConfig( flags ):
   sctSiliconConditionsTool.CheckGeoModel = False
   sctSiliconConditionsTool.ForceUseGeoModel = False
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_AlignCondAlg
+  SCT_AlignCondAlg=CompFactory.SCT_AlignCondAlg
   acc.addCondAlgo(SCT_AlignCondAlg(UseDynamicAlignFolders = True))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DetectorElementCondAlg
+  SCT_DetectorElementCondAlg=CompFactory.SCT_DetectorElementCondAlg
   acc.addCondAlgo(SCT_DetectorElementCondAlg(name = "SCT_DetectorElementCondAlg"))
 
   from SCT_Cabling.SCT_CablingConfig import SCT_CablingCondAlgCfg
   acc.merge(SCT_CablingCondAlgCfg(flags))
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
+  SCT_ConfigurationConditionsTool=CompFactory.SCT_ConfigurationConditionsTool
   acc.addPublicTool(SCT_ConfigurationConditionsTool())
   channelFolder = "/SCT/DAQ/Config/Chip"
   moduleFolder = "/SCT/DAQ/Config/Module"
   murFolder = "/SCT/DAQ/Config/MUR"
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ConfigurationCondAlg
+  SCT_ConfigurationCondAlg=CompFactory.SCT_ConfigurationCondAlg
   acc.addCondAlgo(SCT_ConfigurationCondAlg(ReadKeyChannel = channelFolder,
                                            ReadKeyModule = moduleFolder,
                                            ReadKeyMur = murFolder))
   acc.merge(addFolders(flags, [channelFolder, moduleFolder, murFolder], "SCT", className="CondAttrListVec"))
   # Set up SCTSiLorentzAngleCondAlg
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
+  SCT_ConfigurationConditionsTool=CompFactory.SCT_ConfigurationConditionsTool
   stateFolder = "/SCT/DCS/CHANSTAT"
   hvFolder = "/SCT/DCS/HV"
   tempFolder = "/SCT/DCS/MODTEMP"
   dbInstance = "DCS_OFL"
   acc.merge(addFolders(flags, [stateFolder, hvFolder, tempFolder], dbInstance, className="CondAttrListCollection"))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsTempCondAlg
+  SCT_DCSConditionsTempCondAlg=CompFactory.SCT_DCSConditionsTempCondAlg
   acc.addCondAlgo(SCT_DCSConditionsTempCondAlg( ReadKey = tempFolder ))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsStatCondAlg
+  SCT_DCSConditionsStatCondAlg=CompFactory.SCT_DCSConditionsStatCondAlg
   acc.addCondAlgo(SCT_DCSConditionsStatCondAlg(ReturnHVTemp = True,
                                                ReadKeyHV = hvFolder,
                                                ReadKeyState = stateFolder))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsHVCondAlg
+  SCT_DCSConditionsHVCondAlg=CompFactory.SCT_DCSConditionsHVCondAlg
   acc.addCondAlgo(SCT_DCSConditionsHVCondAlg(ReadKey = hvFolder))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconHVCondAlg
+  SCT_SiliconHVCondAlg=CompFactory.SCT_SiliconHVCondAlg
   acc.addCondAlgo(SCT_SiliconHVCondAlg(UseState = dcsTool.ReadAllDBFolders,
                                        DCSConditionsTool = dcsTool))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconTempCondAlg
+  SCT_SiliconTempCondAlg=CompFactory.SCT_SiliconTempCondAlg
   acc.addCondAlgo(SCT_SiliconTempCondAlg(UseState = dcsTool.ReadAllDBFolders, DCSConditionsTool = dcsTool))
 
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SCTSiLorentzAngleCondAlg
+  SCTSiLorentzAngleCondAlg=CompFactory.SCTSiLorentzAngleCondAlg
   acc.addCondAlgo(SCTSiLorentzAngleCondAlg(name = "SCTSiLorentzAngleCondAlg",
                                            SiConditionsTool = sctSiliconConditionsTool,
                                            UseMagFieldSvc = True,
                                            UseMagFieldDcs = False))
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
+  SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
   SCTLorentzAngleTool = SiLorentzAngleTool(name = "SCTLorentzAngleTool", DetectorName="SCT", SiLorentzAngleCondData="SCTSiLorentzAngleCondData")
   SCTLorentzAngleTool.UseMagFieldSvc = True #may need also MagFieldSvc instance
   acc.addPublicTool(SCTLorentzAngleTool)
@@ -120,19 +121,19 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFoldersSplitOnline(flags, "PIXEL", "/PIXEL/Onl/CablingMap","/PIXEL/CablingMap", className="AthenaAttributeList"))
   acc.merge(addFolders(flags, "/PIXEL/HitDiscCnfg", "PIXEL", className="AthenaAttributeList"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelAlignCondAlg
+  PixelAlignCondAlg=CompFactory.PixelAlignCondAlg
   acc.addCondAlgo(PixelAlignCondAlg(UseDynamicAlignFolders = True))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDetectorElementCondAlg
+  PixelDetectorElementCondAlg=CompFactory.PixelDetectorElementCondAlg
   acc.addCondAlgo(PixelDetectorElementCondAlg(name = "PixelDetectorElementCondAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelReadoutSpeedAlg
+  PixelReadoutSpeedAlg=CompFactory.PixelReadoutSpeedAlg
   acc.addCondAlgo(PixelReadoutSpeedAlg(name="PixelReadoutSpeedAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelCablingCondAlg
+  PixelCablingCondAlg=CompFactory.PixelCablingCondAlg
   acc.addCondAlgo(PixelCablingCondAlg(name="PixelCablingCondAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelHitDiscCnfgAlg
+  PixelHitDiscCnfgAlg=CompFactory.PixelHitDiscCnfgAlg
   acc.addCondAlgo(PixelHitDiscCnfgAlg(name="PixelHitDiscCnfgAlg"))
 
   from AthenaCommon.CfgGetter import getService
@@ -147,16 +148,16 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFolders(flags, "/PIXEL/DCS/TEMPERATURE", "DCS_OFL", className="CondAttrListCollection"))
   acc.merge(addFolders(flags, "/PIXEL/PixCalib", "PIXEL_OFL", className="CondAttrListCollection"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondHVAlg
+  PixelDCSCondHVAlg=CompFactory.PixelDCSCondHVAlg
   acc.addCondAlgo(PixelDCSCondHVAlg(name="PixelDCSCondHVAlg", ReadKey="/PIXEL/DCS/HV"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondTempAlg
+  PixelDCSCondTempAlg=CompFactory.PixelDCSCondTempAlg
   acc.addCondAlgo(PixelDCSCondTempAlg(name="PixelDCSCondTempAlg", ReadKey="/PIXEL/DCS/TEMPERATURE"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelChargeCalibCondAlg
+  PixelChargeCalibCondAlg=CompFactory.PixelChargeCalibCondAlg
   acc.addCondAlgo(PixelChargeCalibCondAlg(name="PixelChargeCalibCondAlg", ReadKey="/PIXEL/PixCalib"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelTDAQCondAlg
+  PixelTDAQCondAlg=CompFactory.PixelTDAQCondAlg
   acc.addCondAlgo(PixelTDAQCondAlg(name="PixelTDAQCondAlg", ReadKey=PixelTDAQFolder))
 
   PixelDeadMapFolder = "/PIXEL/PixMapOverlay"
@@ -165,29 +166,29 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFolders(flags, "/PIXEL/DCS/TEMPERATURE", "DCS_OFL", className="CondAttrListCollection"))
   acc.merge(addFolders(flags, PixelDeadMapFolder, PixelDeadMapInstance, className="CondAttrListCollection"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelConfigCondAlg
+  PixelConfigCondAlg=CompFactory.PixelConfigCondAlg
   acc.addCondAlgo(PixelConfigCondAlg(name="PixelConfigCondAlg", UseDeadMap=False, ReadDeadMapKey=PixelDeadMapFolder, UseCalibConditions=False))
 
-  from SiPropertiesTool.SiPropertiesToolConf import PixelSiPropertiesCondAlg
+  PixelSiPropertiesCondAlg=CompFactory.PixelSiPropertiesCondAlg
   acc.addCondAlgo(PixelSiPropertiesCondAlg(name="PixelSiPropertiesCondAlg"))
 
-  from SiPropertiesTool.SiPropertiesToolConf import SiPropertiesTool
+  SiPropertiesTool=CompFactory.SiPropertiesTool
   TrigSiPropertiesTool = SiPropertiesTool(name="PixelSiPropertiesTool", DetectorName="Pixel", ReadKey="PixelSiliconPropertiesVector")
 
   acc.addPublicTool(TrigSiPropertiesTool)
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import PixelSiLorentzAngleCondAlg
+  PixelSiLorentzAngleCondAlg=CompFactory.PixelSiLorentzAngleCondAlg
   acc.addCondAlgo(PixelSiLorentzAngleCondAlg(name="PixelSiLorentzAngleCondAlg",
                                              SiPropertiesTool=TrigSiPropertiesTool,
                                              UseMagFieldSvc = True,
                                              UseMagFieldDcs = False))
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
+  SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
   TrigPixelLorentzAngleTool = SiLorentzAngleTool(name = "PixelLorentzAngleTool", DetectorName="Pixel", SiLorentzAngleCondData="PixelSiLorentzAngleCondData")
 
   acc.addPublicTool(TrigPixelLorentzAngleTool)
 
-  from BeamSpotConditions.BeamSpotConditionsConf import BeamSpotCondAlg
+  BeamSpotCondAlg=CompFactory.BeamSpotCondAlg
   acc.addCondAlgo(BeamSpotCondAlg( "BeamSpotCondAlg" ))
 
 
@@ -210,18 +211,18 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   if not isMC:
     #Pixel
 
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRodDecoder
+    PixelRodDecoder=CompFactory.PixelRodDecoder
     InDetPixelRodDecoder = PixelRodDecoder(name = "InDetPixelRodDecoder"+ signature)
     acc.addPublicTool(InDetPixelRodDecoder)
 
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRawDataProviderTool
+    PixelRawDataProviderTool=CompFactory.PixelRawDataProviderTool
     InDetPixelRawDataProviderTool = PixelRawDataProviderTool(name    = "InDetPixelRawDataProviderTool"+ signature,
                                                              Decoder = InDetPixelRodDecoder)
     acc.addPublicTool(InDetPixelRawDataProviderTool)
 
 
     # load the PixelRawDataProvider
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRawDataProvider
+    PixelRawDataProvider=CompFactory.PixelRawDataProvider
     InDetPixelRawDataProvider = PixelRawDataProvider(name         = "InDetPixelRawDataProvider"+ signature,
                                                      RDOKey       = InDetKeys.PixelRDOs(),
                                                      ProviderTool = InDetPixelRawDataProviderTool,)
@@ -235,17 +236,17 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
 
     #SCT
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCT_RodDecoder
+    SCT_RodDecoder=CompFactory.SCT_RodDecoder
     InDetSCTRodDecoder = SCT_RodDecoder(name        = "InDetSCTRodDecoder"+ signature)
     acc.addPublicTool(InDetSCTRodDecoder)
 
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTRawDataProviderTool
+    SCTRawDataProviderTool=CompFactory.SCTRawDataProviderTool
     InDetSCTRawDataProviderTool = SCTRawDataProviderTool(name    = "InDetSCTRawDataProviderTool"+ signature,
                                                          Decoder = InDetSCTRodDecoder)
     acc.addPublicTool(InDetSCTRawDataProviderTool)
 
     # load the SCTRawDataProvider
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTRawDataProvider
+    SCTRawDataProvider=CompFactory.SCTRawDataProvider
     InDetSCTRawDataProvider = SCTRawDataProvider(name         = "InDetSCTRawDataProvider"+ signature,
                                                  RDOKey       = InDetKeys.SCT_RDOs(),
                                                  ProviderTool = InDetSCTRawDataProviderTool, )
@@ -257,34 +258,34 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
     acc.addEventAlgo(InDetSCTRawDataProvider)
 
     # load the SCTEventFlagWriter
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTEventFlagWriter
+    SCTEventFlagWriter=CompFactory.SCTEventFlagWriter
     InDetSCTEventFlagWriter = SCTEventFlagWriter(name = "InDetSCTEventFlagWriter"+ signature)
 
     acc.addEventAlgo(InDetSCTEventFlagWriter)
 
 
     #TRT
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_CalDbSvc
+    TRT_CalDbSvc=CompFactory.TRT_CalDbSvc
     InDetTRTCalDbSvc = TRT_CalDbSvc()
     acc.addService(InDetTRTCalDbSvc)
 
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_StrawStatusSummarySvc
+    TRT_StrawStatusSummarySvc=CompFactory.TRT_StrawStatusSummarySvc
     InDetTRTStrawStatusSummarySvc = TRT_StrawStatusSummarySvc(name = "InDetTRTStrawStatusSummarySvc"+ signature)
     acc.addService(InDetTRTStrawStatusSummarySvc)
 
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRT_RodDecoder
+    TRT_RodDecoder=CompFactory.TRT_RodDecoder
     InDetTRTRodDecoder = TRT_RodDecoder(name = "InDetTRTRodDecoder",
                                         LoadCompressTableDB = True)#(globalflags.DataSource() != 'geant4'))
     acc.addPublicTool(InDetTRTRodDecoder)
 
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool
+    TRTRawDataProviderTool=CompFactory.TRTRawDataProviderTool
     InDetTRTRawDataProviderTool = TRTRawDataProviderTool(name    = "InDetTRTRawDataProviderTool"+ signature,
                                                          Decoder = InDetTRTRodDecoder)
     acc.addPublicTool(InDetTRTRawDataProviderTool)
 
 
     # load the TRTRawDataProvider
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProvider
+    TRTRawDataProvider=CompFactory.TRTRawDataProvider
     InDetTRTRawDataProvider = TRTRawDataProvider(name         = "InDetTRTRawDataProvider"+ signature,
                                                  RDOKey       = "TRT_RDOs",
                                                  ProviderTool = InDetTRTRawDataProviderTool)
@@ -295,13 +296,13 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
 
   #Pixel clusterisation
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__ClusterMakerTool
+  InDet__ClusterMakerTool=CompFactory.InDet__ClusterMakerTool
   InDetClusterMakerTool = InDet__ClusterMakerTool(name                 = "InDetClusterMakerTool"+ signature)
 
   acc.addPublicTool(InDetClusterMakerTool)
 
 
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__MergedPixelsTool
+  InDet__MergedPixelsTool=CompFactory.InDet__MergedPixelsTool
   InDetMergedPixelsTool = InDet__MergedPixelsTool(name                    = "InDetMergedPixelsTool"+ signature,
                                                   globalPosAlg            = InDetClusterMakerTool,
                                                   MinimalSplitSize        = 0,
@@ -311,11 +312,11 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
                                                   )
   acc.addPublicTool(InDetMergedPixelsTool)
 
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__PixelGangedAmbiguitiesFinder
+  InDet__PixelGangedAmbiguitiesFinder=CompFactory.InDet__PixelGangedAmbiguitiesFinder
   InDetPixelGangedAmbiguitiesFinder = InDet__PixelGangedAmbiguitiesFinder(name = "InDetPixelGangedAmbiguitiesFinder"+ signature)
   acc.addPublicTool(InDetPixelGangedAmbiguitiesFinder)
 
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__PixelClusterization
+  InDet__PixelClusterization=CompFactory.InDet__PixelClusterization
   InDetPixelClusterization = InDet__PixelClusterization(name                    = "InDetPixelClusterization"+ signature,
                                                         clusteringTool          = InDetMergedPixelsTool,
                                                         gangedAmbiguitiesFinder = InDetPixelGangedAmbiguitiesFinder,
@@ -352,7 +353,7 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   #
   # --- SCT_ClusteringTool (public)
   #
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__SCT_ClusteringTool
+  InDet__SCT_ClusteringTool=CompFactory.InDet__SCT_ClusteringTool
   InDetSCT_ClusteringTool = InDet__SCT_ClusteringTool(name              = "InDetSCT_ClusteringTool"+ signature,
                                                       globalPosAlg      = InDetClusterMakerTool,
                                                       conditionsTool    = InDetSCT_ConditionsSummaryToolWithoutFlagged)
@@ -360,7 +361,7 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   # --- SCT_Clusterization algorithm
   #
 
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__SCT_Clusterization
+  InDet__SCT_Clusterization=CompFactory.InDet__SCT_Clusterization
   InDetSCT_Clusterization = InDet__SCT_Clusterization(name                    = "InDetSCT_Clusterization"+ signature,
                                                       clusteringTool          = InDetSCT_ClusteringTool,
                                                       # ChannelStatus         = InDetSCT_ChannelStatusAlg,
@@ -376,12 +377,12 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
   #Space points and FTF
 
-  from SiSpacePointTool.SiSpacePointToolConf import InDet__SiSpacePointMakerTool
+  InDet__SiSpacePointMakerTool=CompFactory.InDet__SiSpacePointMakerTool
   InDetSiSpacePointMakerTool = InDet__SiSpacePointMakerTool(name = "InDetSiSpacePointMakerTool"+ signature)
   acc.addPublicTool(InDetSiSpacePointMakerTool)
 
   from AthenaCommon.DetFlags import DetFlags
-  from SiSpacePointFormation.SiSpacePointFormationConf import InDet__SiTrackerSpacePointFinder
+  InDet__SiTrackerSpacePointFinder=CompFactory.InDet__SiTrackerSpacePointFinder
   InDetSiTrackerSpacePointFinder = InDet__SiTrackerSpacePointFinder(name                   = "InDetSiTrackerSpacePointFinder"+ signature,
                                                                     SiSpacePointMakerTool  = InDetSiSpacePointMakerTool,
                                                                     PixelsClustersName     = "PixelTrigClusters",
@@ -398,14 +399,14 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   acc.addEventAlgo(InDetSiTrackerSpacePointFinder)
 
 
-  #from IOVSvc.IOVSvcConf import CondSvc
+  #CondSvc=CompFactory.CondSvc
   #acc.addService(CondSvc())
 
 
   #from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool
   #from TrigInDetConf.TrigInDetPostTools import  InDetTrigParticleCreatorToolFTF
 
-  #from InDetTrigParticleCreation.InDetTrigParticleCreationConf import InDet__TrigTrackingxAODCnvMT
+  #InDet__TrigTrackingxAODCnvMT=CompFactory.InDet__TrigTrackingxAODCnvMT
   #theTrackParticleCreatorAlg = InDet__TrigTrackingxAODCnvMT(name = "InDetTrigTrackParticleCreatorAlg",
   #                                                         doIBLresidual = False,
   #                                                         TrackName = "TrigFastTrackFinder_Tracks",
@@ -444,7 +445,7 @@ if __name__ == "__main__":
 
     nThreads=1
 
-    from StoreGate.StoreGateConf import SG__HiveMgrSvc
+    SG__HiveMgrSvc=CompFactory.SG__HiveMgrSvc
     eventDataSvc = SG__HiveMgrSvc("EventDataSvc")
     eventDataSvc.NSlots = nThreads
     acc.addService( eventDataSvc )
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py b/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py
index 963b49481cb041bfa8447e0e8e1fade9eee9693f..5845fed428eb13b94a0a9fbaacfc593d38b7c71b 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/HLTSignatureConfig.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
-from TrigUpgradeTest.TrigUpgradeTestConf import HLTTest__TestRecoAlg, HLTTest__TestHypoAlg
+from AthenaConfiguration.ComponentFactory import CompFactory
 from TrigUpgradeTest.HLTSignatureHypoTools import MuTestHypoTool, ElTestHypoTool
 from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import RecoFragmentsPool, MenuSequence
 from AthenaCommon.CFElements import seqAND
@@ -8,11 +8,13 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
 import sys
 
+HLTTest__TestRecoAlg, HLTTest__TestHypoAlg=CompFactory.getComps("HLTTest__TestRecoAlg","HLTTest__TestHypoAlg",)
+
 UseThisLinkName="initialRoI"
 #UseThisLinkName="feature"
 
 
-from TrigUpgradeTest.TrigUpgradeTestConf import HLTTest__TestInputMaker
+HLTTest__TestInputMaker=CompFactory.HLTTest__TestInputMaker
 def InputMakerForInitialRoIAlg(name):
     return HLTTest__TestInputMaker(name, RoIsLink="initialRoI", LinkName="initialRoI")
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/InDetConfig.py b/Trigger/TrigValidation/TrigUpgradeTest/python/InDetConfig.py
index 3376b246eae2de8eccbf28c68ec780c73297b90f..e633bb831b80808ad1e94772235d2713e483c471 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/InDetConfig.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/InDetConfig.py
@@ -3,6 +3,7 @@
 #
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 
 class InDetCacheNames(object):
   Pixel_ClusterKey   = "PixelTrigClustersCache"
@@ -16,7 +17,7 @@ class InDetCacheNames(object):
 def InDetIDCCacheCreatorCfg():
   #Create IdentifiableCaches
   acc = ComponentAccumulator()
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__CacheCreator
+  InDet__CacheCreator=CompFactory.InDet__CacheCreator
   InDetCacheCreatorTrig = InDet__CacheCreator(name = "InDetCacheCreatorTrig",
                                               Pixel_ClusterKey   = InDetCacheNames.Pixel_ClusterKey,
                                               SCT_ClusterKey     = InDetCacheNames.SCT_ClusterKey,
@@ -44,7 +45,7 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFoldersSplitOnline(flags, "INDET","/Indet/Onl/AlignL3","/Indet/AlignL3",className="AlignableTransformContainer"))
   acc.merge(addFoldersSplitOnline(flags, "INDET","/Indet/Onl/IBLDist","/Indet/IBLDist",className="CondAttrListCollection"))
 
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_DCSConditionsTool
+  SCT_DCSConditionsTool=CompFactory.SCT_DCSConditionsTool
   dcsTool = SCT_DCSConditionsTool(ReadAllDBFolders = True, ReturnHVTemp = True)
 
   from SCT_ConditionsTools.SCT_SiliconConditionsToolSetup import SCT_SiliconConditionsToolSetup
@@ -57,54 +58,54 @@ def TrigInDetCondConfig( flags ):
   sctSiliconConditionsTool.CheckGeoModel = False
   sctSiliconConditionsTool.ForceUseGeoModel = False
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_AlignCondAlg
+  SCT_AlignCondAlg=CompFactory.SCT_AlignCondAlg
   acc.addCondAlgo(SCT_AlignCondAlg(UseDynamicAlignFolders = True))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DetectorElementCondAlg
+  SCT_DetectorElementCondAlg=CompFactory.SCT_DetectorElementCondAlg
   acc.addCondAlgo(SCT_DetectorElementCondAlg(name = "SCT_DetectorElementCondAlg"))
 
   from SCT_Cabling.SCT_CablingConfig import SCT_CablingCondAlgCfg
   acc.merge(SCT_CablingCondAlgCfg(flags))
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
+  SCT_ConfigurationConditionsTool=CompFactory.SCT_ConfigurationConditionsTool
   acc.addPublicTool(SCT_ConfigurationConditionsTool())
   channelFolder = "/SCT/DAQ/Config/Chip"
   moduleFolder = "/SCT/DAQ/Config/Module"
   murFolder = "/SCT/DAQ/Config/MUR"
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ConfigurationCondAlg
+  SCT_ConfigurationCondAlg=CompFactory.SCT_ConfigurationCondAlg
   acc.addCondAlgo(SCT_ConfigurationCondAlg(ReadKeyChannel = channelFolder,
                                            ReadKeyModule = moduleFolder,
                                            ReadKeyMur = murFolder))
   acc.merge(addFolders(flags, [channelFolder, moduleFolder, murFolder], "SCT", className="CondAttrListVec"))
   # Set up SCTSiLorentzAngleCondAlg
-  from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
+  SCT_ConfigurationConditionsTool=CompFactory.SCT_ConfigurationConditionsTool
   stateFolder = "/SCT/DCS/CHANSTAT"
   hvFolder = "/SCT/DCS/HV"
   tempFolder = "/SCT/DCS/MODTEMP"
   dbInstance = "DCS_OFL"
   acc.merge(addFolders(flags, [stateFolder, hvFolder, tempFolder], dbInstance, className="CondAttrListCollection"))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsTempCondAlg
+  SCT_DCSConditionsTempCondAlg=CompFactory.SCT_DCSConditionsTempCondAlg
   acc.addCondAlgo(SCT_DCSConditionsTempCondAlg( ReadKey = tempFolder ))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsStatCondAlg
+  SCT_DCSConditionsStatCondAlg=CompFactory.SCT_DCSConditionsStatCondAlg
   acc.addCondAlgo(SCT_DCSConditionsStatCondAlg(ReturnHVTemp = True,
                                                ReadKeyHV = hvFolder,
                                                ReadKeyState = stateFolder))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsHVCondAlg
+  SCT_DCSConditionsHVCondAlg=CompFactory.SCT_DCSConditionsHVCondAlg
   acc.addCondAlgo(SCT_DCSConditionsHVCondAlg(ReadKey = hvFolder))
 
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconHVCondAlg
+  SCT_SiliconHVCondAlg=CompFactory.SCT_SiliconHVCondAlg
   acc.addCondAlgo(SCT_SiliconHVCondAlg(UseState = dcsTool.ReadAllDBFolders,
                                        DCSConditionsTool = dcsTool))
-  from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconTempCondAlg
+  SCT_SiliconTempCondAlg=CompFactory.SCT_SiliconTempCondAlg
   acc.addCondAlgo(SCT_SiliconTempCondAlg(UseState = dcsTool.ReadAllDBFolders, DCSConditionsTool = dcsTool))
 
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SCTSiLorentzAngleCondAlg
+  SCTSiLorentzAngleCondAlg=CompFactory.SCTSiLorentzAngleCondAlg
   acc.addCondAlgo(SCTSiLorentzAngleCondAlg(name = "SCTSiLorentzAngleCondAlg",
                                            SiConditionsTool = sctSiliconConditionsTool,
                                            UseMagFieldSvc = True,
                                            UseMagFieldDcs = False))
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
+  SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
   SCTLorentzAngleTool = SiLorentzAngleTool(name = "SCTLorentzAngleTool", DetectorName="SCT", SiLorentzAngleCondData="SCTSiLorentzAngleCondData")
   SCTLorentzAngleTool.UseMagFieldSvc = True #may need also MagFieldSvc instance
   acc.addPublicTool(SCTLorentzAngleTool)
@@ -122,22 +123,22 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFoldersSplitOnline(flags, "PIXEL", "/PIXEL/Onl/CablingMap","/PIXEL/CablingMap", className="AthenaAttributeList"))
   acc.merge(addFolders(flags, "/PIXEL/HitDiscCnfg", "PIXEL", className="AthenaAttributeList"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelAlignCondAlg
+  PixelAlignCondAlg=CompFactory.PixelAlignCondAlg
   acc.addCondAlgo(PixelAlignCondAlg(UseDynamicAlignFolders = True))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDetectorElementCondAlg
+  PixelDetectorElementCondAlg=CompFactory.PixelDetectorElementCondAlg
   acc.addCondAlgo(PixelDetectorElementCondAlg(name = "PixelDetectorElementCondAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelReadoutSpeedAlg
+  PixelReadoutSpeedAlg=CompFactory.PixelReadoutSpeedAlg
   acc.addCondAlgo(PixelReadoutSpeedAlg(name="PixelReadoutSpeedAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelCablingCondAlg
+  PixelCablingCondAlg=CompFactory.PixelCablingCondAlg
   acc.addCondAlgo(PixelCablingCondAlg(name="PixelCablingCondAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelHitDiscCnfgAlg
+  PixelHitDiscCnfgAlg=CompFactory.PixelHitDiscCnfgAlg
   acc.addCondAlgo(PixelHitDiscCnfgAlg(name="PixelHitDiscCnfgAlg"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDistortionAlg
+  PixelDistortionAlg=CompFactory.PixelDistortionAlg
   acc.addCondAlgo(PixelDistortionAlg(name="PixelDistortionAlg", ReadKey="/Indet/Onl/PixelDist"))
 
   from AthenaCommon.CfgGetter import getService
@@ -152,16 +153,16 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFolders(flags, "/PIXEL/DCS/TEMPERATURE", "DCS_OFL", className="CondAttrListCollection"))
   acc.merge(addFolders(flags, "/PIXEL/PixCalib", "PIXEL_OFL", className="CondAttrListCollection"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondHVAlg
+  PixelDCSCondHVAlg=CompFactory.PixelDCSCondHVAlg
   acc.addCondAlgo(PixelDCSCondHVAlg(name="PixelDCSCondHVAlg", ReadKey="/PIXEL/DCS/HV"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelDCSCondTempAlg
+  PixelDCSCondTempAlg=CompFactory.PixelDCSCondTempAlg
   acc.addCondAlgo(PixelDCSCondTempAlg(name="PixelDCSCondTempAlg", ReadKey="/PIXEL/DCS/TEMPERATURE"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelChargeCalibCondAlg
+  PixelChargeCalibCondAlg=CompFactory.PixelChargeCalibCondAlg
   acc.addCondAlgo(PixelChargeCalibCondAlg(name="PixelChargeCalibCondAlg", ReadKey="/PIXEL/PixCalib"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelTDAQCondAlg
+  PixelTDAQCondAlg=CompFactory.PixelTDAQCondAlg
   acc.addCondAlgo(PixelTDAQCondAlg(name="PixelTDAQCondAlg", ReadKey=PixelTDAQFolder))
 
   PixelDeadMapFolder = "/PIXEL/PixMapOverlay"
@@ -170,29 +171,29 @@ def TrigInDetCondConfig( flags ):
   acc.merge(addFolders(flags, "/PIXEL/DCS/TEMPERATURE", "DCS_OFL", className="CondAttrListCollection"))
   acc.merge(addFolders(flags, PixelDeadMapFolder, PixelDeadMapInstance, className="CondAttrListCollection"))
 
-  from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelConfigCondAlg
+  PixelConfigCondAlg=CompFactory.PixelConfigCondAlg
   acc.addCondAlgo(PixelConfigCondAlg(name="PixelConfigCondAlg", UseDeadMap=False, ReadDeadMapKey=PixelDeadMapFolder, UseCalibConditions=False))
 
-  from SiPropertiesTool.SiPropertiesToolConf import PixelSiPropertiesCondAlg
+  PixelSiPropertiesCondAlg=CompFactory.PixelSiPropertiesCondAlg
   acc.addCondAlgo(PixelSiPropertiesCondAlg(name="PixelSiPropertiesCondAlg"))
 
-  from SiPropertiesTool.SiPropertiesToolConf import SiPropertiesTool
+  SiPropertiesTool=CompFactory.SiPropertiesTool
   TrigSiPropertiesTool = SiPropertiesTool(name="PixelSiPropertiesTool", DetectorName="Pixel", ReadKey="PixelSiliconPropertiesVector")
 
   acc.addPublicTool(TrigSiPropertiesTool)
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import PixelSiLorentzAngleCondAlg
+  PixelSiLorentzAngleCondAlg=CompFactory.PixelSiLorentzAngleCondAlg
   acc.addCondAlgo(PixelSiLorentzAngleCondAlg(name="PixelSiLorentzAngleCondAlg",
                                              SiPropertiesTool=TrigSiPropertiesTool,
                                              UseMagFieldSvc = True,
                                              UseMagFieldDcs = False))
 
-  from SiLorentzAngleTool.SiLorentzAngleToolConf import SiLorentzAngleTool
+  SiLorentzAngleTool=CompFactory.SiLorentzAngleTool
   TrigPixelLorentzAngleTool = SiLorentzAngleTool(name = "PixelLorentzAngleTool", DetectorName="Pixel", SiLorentzAngleCondData="PixelSiLorentzAngleCondData")
 
   acc.addPublicTool(TrigPixelLorentzAngleTool)
 
-  from BeamSpotConditions.BeamSpotConditionsConf import BeamSpotCondAlg
+  BeamSpotCondAlg=CompFactory.BeamSpotCondAlg
   acc.addCondAlgo(BeamSpotCondAlg( "BeamSpotCondAlg" ))
 
 
@@ -215,18 +216,18 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   if not isMC:
     #Pixel
 
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRodDecoder
+    PixelRodDecoder=CompFactory.PixelRodDecoder
     InDetPixelRodDecoder = PixelRodDecoder(name = "InDetPixelRodDecoder"+ signature)
     acc.addPublicTool(InDetPixelRodDecoder)
 
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRawDataProviderTool
+    PixelRawDataProviderTool=CompFactory.PixelRawDataProviderTool
     InDetPixelRawDataProviderTool = PixelRawDataProviderTool(name    = "InDetPixelRawDataProviderTool"+ signature,
                                                              Decoder = InDetPixelRodDecoder)
     acc.addPublicTool(InDetPixelRawDataProviderTool)
 
 
     # load the PixelRawDataProvider
-    from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConf import PixelRawDataProvider
+    PixelRawDataProvider=CompFactory.PixelRawDataProvider
     InDetPixelRawDataProvider = PixelRawDataProvider(name         = "InDetPixelRawDataProvider"+ signature,
                                                      RDOKey       = InDetKeys.PixelRDOs(),
                                                      ProviderTool = InDetPixelRawDataProviderTool,)
@@ -240,17 +241,17 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
 
     #SCT
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCT_RodDecoder
+    SCT_RodDecoder=CompFactory.SCT_RodDecoder
     InDetSCTRodDecoder = SCT_RodDecoder(name        = "InDetSCTRodDecoder"+ signature)
     acc.addPublicTool(InDetSCTRodDecoder)
 
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTRawDataProviderTool
+    SCTRawDataProviderTool=CompFactory.SCTRawDataProviderTool
     InDetSCTRawDataProviderTool = SCTRawDataProviderTool(name    = "InDetSCTRawDataProviderTool"+ signature,
                                                          Decoder = InDetSCTRodDecoder)
     acc.addPublicTool(InDetSCTRawDataProviderTool)
 
     # load the SCTRawDataProvider
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTRawDataProvider
+    SCTRawDataProvider=CompFactory.SCTRawDataProvider
     InDetSCTRawDataProvider = SCTRawDataProvider(name         = "InDetSCTRawDataProvider"+ signature,
                                                  RDOKey       = InDetKeys.SCT_RDOs(),
                                                  ProviderTool = InDetSCTRawDataProviderTool, )
@@ -262,34 +263,34 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
     acc.addEventAlgo(InDetSCTRawDataProvider)
 
     # load the SCTEventFlagWriter
-    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConf import SCTEventFlagWriter
+    SCTEventFlagWriter=CompFactory.SCTEventFlagWriter
     InDetSCTEventFlagWriter = SCTEventFlagWriter(name = "InDetSCTEventFlagWriter"+ signature)
 
     acc.addEventAlgo(InDetSCTEventFlagWriter)
 
 
     #TRT
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_CalDbSvc
+    TRT_CalDbSvc=CompFactory.TRT_CalDbSvc
     InDetTRTCalDbSvc = TRT_CalDbSvc()
     acc.addService(InDetTRTCalDbSvc)
 
-    from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_StrawStatusSummarySvc
+    TRT_StrawStatusSummarySvc=CompFactory.TRT_StrawStatusSummarySvc
     InDetTRTStrawStatusSummarySvc = TRT_StrawStatusSummarySvc(name = "InDetTRTStrawStatusSummarySvc"+ signature)
     acc.addService(InDetTRTStrawStatusSummarySvc)
 
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRT_RodDecoder
+    TRT_RodDecoder=CompFactory.TRT_RodDecoder
     InDetTRTRodDecoder = TRT_RodDecoder(name = "InDetTRTRodDecoder",
                                         LoadCompressTableDB = True)#(globalflags.DataSource() != 'geant4'))
     acc.addPublicTool(InDetTRTRodDecoder)
 
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool
+    TRTRawDataProviderTool=CompFactory.TRTRawDataProviderTool
     InDetTRTRawDataProviderTool = TRTRawDataProviderTool(name    = "InDetTRTRawDataProviderTool"+ signature,
                                                          Decoder = InDetTRTRodDecoder)
     acc.addPublicTool(InDetTRTRawDataProviderTool)
 
 
     # load the TRTRawDataProvider
-    from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProvider
+    TRTRawDataProvider=CompFactory.TRTRawDataProvider
     InDetTRTRawDataProvider = TRTRawDataProvider(name         = "InDetTRTRawDataProvider"+ signature,
                                                  RDOKey       = "TRT_RDOs",
                                                  ProviderTool = InDetTRTRawDataProviderTool)
@@ -300,13 +301,13 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
 
   #Pixel clusterisation
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__ClusterMakerTool
+  InDet__ClusterMakerTool=CompFactory.InDet__ClusterMakerTool
   InDetClusterMakerTool = InDet__ClusterMakerTool(name                 = "InDetClusterMakerTool"+ signature)
 
   acc.addPublicTool(InDetClusterMakerTool)
 
 
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__MergedPixelsTool
+  InDet__MergedPixelsTool=CompFactory.InDet__MergedPixelsTool
   InDetMergedPixelsTool = InDet__MergedPixelsTool(name                    = "InDetMergedPixelsTool"+ signature,
                                                   globalPosAlg            = InDetClusterMakerTool,
                                                   MinimalSplitSize        = 0,
@@ -316,11 +317,11 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
                                                   )
   acc.addPublicTool(InDetMergedPixelsTool)
 
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__PixelGangedAmbiguitiesFinder
+  InDet__PixelGangedAmbiguitiesFinder=CompFactory.InDet__PixelGangedAmbiguitiesFinder
   InDetPixelGangedAmbiguitiesFinder = InDet__PixelGangedAmbiguitiesFinder(name = "InDetPixelGangedAmbiguitiesFinder"+ signature)
   acc.addPublicTool(InDetPixelGangedAmbiguitiesFinder)
 
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__PixelClusterization
+  InDet__PixelClusterization=CompFactory.InDet__PixelClusterization
   InDetPixelClusterization = InDet__PixelClusterization(name                    = "InDetPixelClusterization"+ signature,
                                                         clusteringTool          = InDetMergedPixelsTool,
                                                         gangedAmbiguitiesFinder = InDetPixelGangedAmbiguitiesFinder,
@@ -357,7 +358,7 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   #
   # --- SCT_ClusteringTool (public)
   #
-  from SiClusterizationTool.SiClusterizationToolConf import InDet__SCT_ClusteringTool
+  InDet__SCT_ClusteringTool=CompFactory.InDet__SCT_ClusteringTool
   InDetSCT_ClusteringTool = InDet__SCT_ClusteringTool(name              = "InDetSCT_ClusteringTool"+ signature,
                                                       globalPosAlg      = InDetClusterMakerTool,
                                                       conditionsTool    = InDetSCT_ConditionsSummaryToolWithoutFlagged)
@@ -365,7 +366,7 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   # --- SCT_Clusterization algorithm
   #
 
-  from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__SCT_Clusterization
+  InDet__SCT_Clusterization=CompFactory.InDet__SCT_Clusterization
   InDetSCT_Clusterization = InDet__SCT_Clusterization(name                    = "InDetSCT_Clusterization"+ signature,
                                                       clusteringTool          = InDetSCT_ClusteringTool,
                                                       # ChannelStatus         = InDetSCT_ChannelStatusAlg,
@@ -381,12 +382,12 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
 
   #Space points and FTF
 
-  from SiSpacePointTool.SiSpacePointToolConf import InDet__SiSpacePointMakerTool
+  InDet__SiSpacePointMakerTool=CompFactory.InDet__SiSpacePointMakerTool
   InDetSiSpacePointMakerTool = InDet__SiSpacePointMakerTool(name = "InDetSiSpacePointMakerTool"+ signature)
   acc.addPublicTool(InDetSiSpacePointMakerTool)
 
   from AthenaCommon.DetFlags import DetFlags
-  from SiSpacePointFormation.SiSpacePointFormationConf import InDet__SiTrackerSpacePointFinder
+  InDet__SiTrackerSpacePointFinder=CompFactory.InDet__SiTrackerSpacePointFinder
   InDetSiTrackerSpacePointFinder = InDet__SiTrackerSpacePointFinder(name                   = "InDetSiTrackerSpacePointFinder"+ signature,
                                                                     SiSpacePointMakerTool  = InDetSiSpacePointMakerTool,
                                                                     PixelsClustersName     = "PixelTrigClusters",
@@ -403,14 +404,14 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ):
   acc.addEventAlgo(InDetSiTrackerSpacePointFinder)
 
 
-  #from IOVSvc.IOVSvcConf import CondSvc
+  #CondSvc=CompFactory.CondSvc
   #acc.addService(CondSvc())
 
 
   #from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool
   #from TrigInDetConf.TrigInDetPostTools import  InDetTrigParticleCreatorToolFTF
 
-  #from InDetTrigParticleCreation.InDetTrigParticleCreationConf import InDet__TrigTrackingxAODCnvMT
+  #InDet__TrigTrackingxAODCnvMT=CompFactory.InDet__TrigTrackingxAODCnvMT
   #theTrackParticleCreatorAlg = InDet__TrigTrackingxAODCnvMT(name = "InDetTrigTrackParticleCreatorAlg",
   #                                                         doIBLresidual = False,
   #                                                         TrackName = "TrigFastTrackFinder_Tracks",
@@ -449,7 +450,7 @@ if __name__ == "__main__":
 
     nThreads=1
 
-    from StoreGate.StoreGateConf import SG__HiveMgrSvc
+    SG__HiveMgrSvc=CompFactory.SG__HiveMgrSvc
     eventDataSvc = SG__HiveMgrSvc("EventDataSvc")
     eventDataSvc.NSlots = nThreads
     acc.addService( eventDataSvc )
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
index fe313f6e534ca06ab86dc3892fc80bbf4425b854..7ad8bdae3fa1886f0ea777a3869337e18dd0b0be 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
@@ -2,6 +2,7 @@
 
 
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+from AthenaConfiguration.ComponentFactory import CompFactory
 from AthenaCommon.CFElements import seqAND, seqOR, flatAlgorithmSequences
 from AthenaCommon.Logging import logging
 __log = logging.getLogger('TriggerConfig')
@@ -148,7 +149,7 @@ def triggerSummaryCfg(flags, hypos):
     Returns: ca, algorithm
     """
     acc = ComponentAccumulator()
-    from TrigOutputHandling.TrigOutputHandlingConf import DecisionSummaryMakerAlg
+    DecisionSummaryMakerAlg=CompFactory.DecisionSummaryMakerAlg
     from TrigEDMConfig.TriggerEDMRun3 import recordable
     decisionSummaryAlg = DecisionSummaryMakerAlg()
     allChains = {}
@@ -187,7 +188,7 @@ def triggerMonitoringCfg(flags, hypos, filters, l1Decoder):
     Configures components needed for monitoring chains
     """
     acc = ComponentAccumulator()
-    from TrigSteerMonitor.TrigSteerMonitorConf import TrigSignatureMoniMT, DecisionCollectorTool
+    TrigSignatureMoniMT, DecisionCollectorTool=CompFactory.getComps("TrigSignatureMoniMT","DecisionCollectorTool",)
     mon = TrigSignatureMoniMT()
     mon.L1Decisions = "L1DecoderSummary"
     mon.FinalDecisionKey = "HLTNav_Summary" # Input
@@ -334,7 +335,7 @@ def triggerBSOutputCfg(flags, decObj, decObjHypoOut, summaryAlg, offline=False):
     if offline:
         # Create HLT result maker and alg
         from TrigOutputHandling.TrigOutputHandlingConfig import HLTResultMTMakerCfg
-        from TrigOutputHandling.TrigOutputHandlingConf import HLTResultMTMakerAlg
+        HLTResultMTMakerAlg=CompFactory.HLTResultMTMakerAlg
         hltResultMakerTool = HLTResultMTMakerCfg()
         hltResultMakerTool.MakerTools = [bitsmaker, stmaker, serialiser] # TODO: stmaker likely not needed for offline BS writing
         hltResultMakerAlg = HLTResultMTMakerAlg()
@@ -405,7 +406,7 @@ def triggerPOOLOutputCfg(flags, decObj, decObjHypoOut, edmSet):
     acc.addEventAlgo( decmaker )
 
     # Produce trigger metadata
-    from TrigConfxAOD.TrigConfxAODConf import TrigConf__xAODMenuWriterMT
+    TrigConf__xAODMenuWriterMT=CompFactory.TrigConf__xAODMenuWriterMT
     menuwriter = TrigConf__xAODMenuWriterMT()
     acc.addEventAlgo( menuwriter )
 
@@ -414,7 +415,7 @@ def triggerPOOLOutputCfg(flags, decObj, decObjHypoOut, edmSet):
 
 def triggerMergeViewsAndAddMissingEDMCfg( edmSet, hypos, viewMakers, decObj, decObjHypoOut ):
 
-    from TrigOutputHandling.TrigOutputHandlingConf import HLTEDMCreatorAlg, HLTEDMCreator
+    HLTEDMCreatorAlg, HLTEDMCreator=CompFactory.getComps("HLTEDMCreatorAlg","HLTEDMCreator",)
     from TrigEDMConfig.TriggerEDMRun3 import TriggerHLTListRun3
 
     alg = HLTEDMCreatorAlg("EDMCreatorAlg")