diff --git a/Control/AthenaConfiguration/python/UnifyProperties.py b/Control/AthenaConfiguration/python/UnifyProperties.py
index 4649d4bb5ff5f832e3c0414058269727c5ca6c84..35e8f5508eacbaf44c341ea463ec01d7bc5e7f3e 100644
--- a/Control/AthenaConfiguration/python/UnifyProperties.py
+++ b/Control/AthenaConfiguration/python/UnifyProperties.py
@@ -47,5 +47,6 @@ def unifyProperty(propname,prop1,prop2):
     if propname not in _propsToUnify:
         from AthenaConfiguration.ComponentAccumulator import DeduplicationFailed
         raise DeduplicationFailed("List property %s defined multiple times with conflicting values.\n " % propname \
-                                      +"If this property should be merged, consider adding it to AthenaConfiguration/UnifyProperties.py")
+                                      + str(prop1) +"\n and \n" +str(prop2) \
+                                      + "\nIf this property should be merged, consider adding it to AthenaConfiguration/UnifyProperties.py")
     return _propsToUnify[propname](prop1,prop2)
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt b/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
index d527409c3160c7ca89f61ac93dbd1a5c8c806495..251b42fc39640e77f625e4786f5169f206418d4f 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
+++ b/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
@@ -129,13 +129,13 @@ atlas_add_test( EmuStepProcessing
 		PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_emu_step_processing
 )
 
-# file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_NewJO )
-# atlas_add_test( NewJO
-# 		SCRIPT test/test_newJO.sh
-# 		EXTRA_PATTERNS "-s .*ERROR.*|.*newJOtest.pkl.*|TrigSignatureMoniMT .*DEBUG.*"
-#                 PROPERTIES TIMEOUT 500
-# 		PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_NewJO
-# 		)
+file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_NewJO )
+atlas_add_test( NewJO
+		SCRIPT test/test_newJO.sh
+		EXTRA_PATTERNS "-s .*ERROR.*|.*newJOtest.pkl.*|TrigSignatureMoniMT .*DEBUG.*"
+                PROPERTIES TIMEOUT 500
+		PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_NewJO
+		)
 
 file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_l1sim )
 atlas_add_test( l1sim
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/ElectronMenuConfig.py b/Trigger/TrigValidation/TrigUpgradeTest/python/ElectronMenuConfig.py
index 6cdd05fa5bb6ff4938b96048c036a5cd8b4be743..571a67d8b6b382bb855656e6a35e7257c1749944 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/ElectronMenuConfig.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/ElectronMenuConfig.py
@@ -48,30 +48,31 @@ def TileCondCfg( flags ):
 
     acc = ComponentAccumulator()
 
-    from TileConditions.TileConditionsConf import TileCondToolEmscale
-    tool = TileCondToolEmscale()
-    tool.OnlCacheUnit      = 'OnlineMegaElectronVolts'
+    from IOVDbSvc.IOVDbSvcConfig import addFolders
+    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
 
-    from IOVDbSvc.IOVDbSvcConfig import addFolders
-    def __addFolder(f):        
-        acc.merge(addFolders(flags, '%s <key>%s</key>' %(f,f),   'TILE_OFL' if '/OFL' in f else 'TILE_ONL'))
-
-    tool.ProxyOflCes    = TileCondProxyCoolFlt('TileCondProxyCool_OflCes',    Source = '/TILE/OFL02/CALIB/CES') 
-    tool.ProxyOflCisLin = TileCondProxyCoolFlt('TileCondProxyCool_OflCisLin', Source = '/TILE/OFL02/CALIB/CIS/LIN') 
-    tool.ProxyOflCisNln = TileCondProxyCoolFlt('TileCondProxyCool_OflCisNln', Source = '/TILE/OFL02/CALIB/CIS/NLN') 
-    tool.ProxyOflEms    = TileCondProxyCoolFlt('TileCondProxyCool_OflEms',    Source = '/TILE/OFL02/CALIB/EMS') 
-    tool.ProxyOflLasFib = TileCondProxyCoolFlt('TileCondProxyCool_OflLasFib', Source = '/TILE/OFL02/CALIB/LAS/FIBER') 
-    tool.ProxyOflLasLin = TileCondProxyCoolFlt('TileCondProxyCool_OflLasLin', Source = '/TILE/OFL02/CALIB/LAS/LIN') 
-    tool.ProxyOflLasNln = TileCondProxyCoolFlt('TileCondProxyCool_OflLasNln', Source = '/TILE/OFL02/CALIB/LAS/NLN') 
-    tool.ProxyOnlCes    = TileCondProxyCoolFlt('TileCondProxyCool_OnlCes',    Source = '/TILE/ONL01/CALIB/CES') 
-    tool.ProxyOnlCis    = TileCondProxyCoolFlt('TileCondProxyCool_OnlCis',    Source = '/TILE/ONL01/CALIB/CIS/LIN') 
-    tool.ProxyOnlEms    = TileCondProxyCoolFlt('TileCondProxyCool_OnlEms',    Source = '/TILE/ONL01/CALIB/EMS') 
-    tool.ProxyOnlLas    = TileCondProxyCoolFlt('TileCondProxyCool_OnlLas',    Source = '/TILE/ONL01/CALIB/LAS/LIN')
+    emScale = 'TileEMScale'
+    from TileConditions.TileConditionsConf import TileEMScaleCondAlg
+    emScaleCondAlg = TileEMScaleCondAlg(name = emScale + 'CondAlg', TileEMScale = emScale)
+    emScaleCondAlg.OnlCacheUnit      = 'OnlineMegaElectronVolts'
+    emScaleCondAlg.OflCesProxy    = TileCondProxyCoolFlt('TileCondProxyCool_OflCes',    Source = '/TILE/OFL02/CALIB/CES') 
+    emScaleCondAlg.OflCisLinProxy = TileCondProxyCoolFlt('TileCondProxyCool_OflCisLin', Source = '/TILE/OFL02/CALIB/CIS/LIN') 
+    emScaleCondAlg.OflCisNlnProxy = TileCondProxyCoolFlt('TileCondProxyCool_OflCisNln', Source = '/TILE/OFL02/CALIB/CIS/NLN') 
+    emScaleCondAlg.OflEmsProxy    = TileCondProxyCoolFlt('TileCondProxyCool_OflEms',    Source = '/TILE/OFL02/CALIB/EMS') 
+    emScaleCondAlg.OflLasFibProxy = TileCondProxyCoolFlt('TileCondProxyCool_OflLasFib', Source = '/TILE/OFL02/CALIB/LAS/FIBER') 
+    emScaleCondAlg.OflLasLinProxy = TileCondProxyCoolFlt('TileCondProxyCool_OflLasLin', Source = '/TILE/OFL02/CALIB/LAS/LIN') 
+    emScaleCondAlg.OflLasNlnProxy = TileCondProxyCoolFlt('TileCondProxyCool_OflLasNln', Source = '/TILE/OFL02/CALIB/LAS/NLN') 
+    emScaleCondAlg.OnlCesProxy    = TileCondProxyCoolFlt('TileCondProxyCool_OnlCes',    Source = '/TILE/ONL01/CALIB/CES') 
+    emScaleCondAlg.OnlCisProxy    = TileCondProxyCoolFlt('TileCondProxyCool_OnlCis',    Source = '/TILE/ONL01/CALIB/CIS/LIN') 
+    emScaleCondAlg.OnlEmsProxy    = TileCondProxyCoolFlt('TileCondProxyCool_OnlEms',    Source = '/TILE/ONL01/CALIB/EMS') 
+    emScaleCondAlg.OnlLasProxy    = TileCondProxyCoolFlt('TileCondProxyCool_OnlLas',    Source = '/TILE/ONL01/CALIB/LAS/LIN')
 
     __addFolder( '/TILE/OFL02/CALIB/CES')       
     __addFolder( '/TILE/OFL02/CALIB/CIS/LIN')   
@@ -84,36 +85,74 @@ def TileCondCfg( flags ):
     __addFolder( '/TILE/ONL01/CALIB/CIS/LIN')   
     __addFolder( '/TILE/ONL01/CALIB/EMS')       
     __addFolder( '/TILE/ONL01/CALIB/LAS/LIN')   
-    acc.addPublicTool( tool )    
 
-    from TileConditions.TileConditionsConf import TileCondToolNoiseSample
-    noiseSampleTool = TileCondToolNoiseSample()
-    noiseSampleTool.ProxyNoiseSample       = TileCondProxyCoolFlt( 'TileCondProxyCool_NoiseSample', Source =  '/TILE/OFL02/NOISE/SAMPLE' )
-    noiseSampleTool.ProxyOnlineNoiseSample = TileCondProxyCoolFlt( 'TileCondProxyCool_OnlineNoiseSample', Source =  '/TILE/ONL01/NOISE/SAMPLE' )    
+    acc.addCondAlgo( emScaleCondAlg )
+
+    from TileConditions.TileConditionsConf import TileCondToolEmscale
+    emScaleTool = TileCondToolEmscale(name = 'TileCondToolEmscale', TileEMScale = emScale)
+    acc.addPublicTool( emScaleTool )
+
+
+    from TileConditions.TileConditionsConf import TileCalibCondAlg_TileCalibDrawerFlt_ as TileCalibFltCondAlg
+    def __addCondAlg(calibData, proxy):
+        calibCondAlg = calibData + 'CondAlg'
+        condAlg = TileCalibFltCondAlg( name = calibCondAlg, ConditionsProxy = proxy, TileCalibData = calibData)
+        acc.addCondAlgo( condAlg )
+
+
+    sampleNoise = 'TileSampleNoise'
+    sampleNoiseProxy = TileCondProxyCoolFlt( 'TileCondProxyCool_NoiseSample', Source = '/TILE/OFL02/NOISE/SAMPLE' )
     __addFolder( '/TILE/OFL02/NOISE/SAMPLE' )
+    __addCondAlg(sampleNoise, sampleNoiseProxy)
+
+    onlineSampleNoise = 'TileOnlineSampleNoise'
+    onlineSampleNoiseProxy = TileCondProxyCoolFlt( 'TileCondProxyCool_OnlineNoiseSample', Source = '/TILE/ONL01/NOISE/SAMPLE' )
     __addFolder( '/TILE/ONL01/NOISE/SAMPLE' )    
+    __addCondAlg(onlineSampleNoise, onlineSampleNoiseProxy)
+
+    from TileConditions.TileConditionsConf import TileCondToolNoiseSample
+    noiseSampleTool = TileCondToolNoiseSample(name = 'TileCondToolNoiseSample', 
+                                              TileSampleNoise = sampleNoise, 
+                                              TileOnlineSampleNoise = onlineSampleNoise)
     acc.addPublicTool( noiseSampleTool )
 
-    from TileConditions.TileConditionsConf import TileCondToolTiming
-    timingTool = TileCondToolTiming()
-    timingTool.ProxyAdcOffset = TileCondProxyCoolFlt('TileCondProxyCool_AdcOffset', Source = '/TILE/OFL02/TIME/CHANNELOFFSET/PHY' )
+
+    timing = 'TileTiming'
+    timingProxy = TileCondProxyCoolFlt('TileCondProxyCool_AdcOffset', Source = '/TILE/OFL02/TIME/CHANNELOFFSET/PHY' )
     __addFolder( '/TILE/OFL02/TIME/CHANNELOFFSET/PHY' )
+    __addCondAlg(timing, timingProxy)
+
+    from TileConditions.TileConditionsConf import TileCondToolTiming
+    timingTool = TileCondToolTiming(name = 'TileCondToolTiming', TileTiming = timing)
     acc.addPublicTool( timingTool )
 
 
-    from TileConditions.TileConditionsConf import TileBadChanTool
-    badChanTool = TileBadChanTool()
-    badChanTool.ProxyOflBch = TileCondProxyCoolBch('TileCondProxyCool_OflBch', Source = '/TILE/OFL02/STATUS/ADC' )
-    badChanTool.ProxyOnlBch = TileCondProxyCoolBch('TileCondProxyCool_OnlBch', Source = '/TILE/ONL01/STATUS/ADC' )
+    badChannels = 'TileBadChannels'
+    from TileConditions.TileConditionsConf import TileBadChannelsCondAlg
+    badChannelsCondAlg = TileBadChannelsCondAlg( name = badChannels + 'CondAlg', TileBadChannels = badChannels)
+    badChannelsCondAlg.OflBchProxy = TileCondProxyCoolBch('TileCondProxyCool_OflBch', Source = '/TILE/OFL02/STATUS/ADC' )
+    badChannelsCondAlg.OnlBchProxy = TileCondProxyCoolBch('TileCondProxyCool_OnlBch', Source = '/TILE/ONL01/STATUS/ADC' )
     __addFolder( '/TILE/OFL02/STATUS/ADC' )
     __addFolder( '/TILE/ONL01/STATUS/ADC' )
+    acc.addCondAlgo( badChannelsCondAlg )
+
+    from TileConditions.TileConditionsConf import TileBadChanTool
+    badChanTool = TileBadChanTool(name = 'TileBadChanTool', TileBadChannels = badChannels)
     acc.addPublicTool( badChanTool )
 
+    from TileConditions.TileConditionsConf import TileBadChanLegacyTool
+    from AthenaCommon.Constants import DEBUG
+    badChanLegacyTool = TileBadChanLegacyTool( 'TileBadChanLegacyTool' )
+    badChanLegacyTool.ProxyOflBch = TileCondProxyCoolBch('TileCondProxyCool_OflBchLegacy', Source = '/TILE/OFL02/STATUS/ADC' )
+    badChanLegacyTool.ProxyOnlBch = TileCondProxyCoolBch('TileCondProxyCool_OnlBchLegacy', Source = '/TILE/ONL01/STATUS/ADC', OutputLevel=DEBUG )    
+    acc.addPublicTool( badChanLegacyTool )
+
+
+
     acc.merge( addFolders(flags, ['/LAR/BadChannelsOfl/BadChannels <key>/LAR/BadChannels/BadChannels</key>', 
                                   '/LAR/BadChannelsOfl/MissingFEBs<key>/LAR/BadChannels/MissingFEBs</key>'], 'LAR_OFL'))
     
 
-
     from TileConditions.TileConditionsConf import TileInfoLoader, TileCablingSvc
     infoLoaderSvc = TileInfoLoader()
     infoLoaderSvc.NoiseScaleIndex= 2
@@ -121,8 +160,6 @@ def TileCondCfg( flags ):
 #    acc.addToAppProperty('CreateSvc', [infoLoaderSvc.getFullName()] )
 
 
-
-
     cabligSvc = TileCablingSvc()
     cabligSvc.CablingType = 4
     acc.addService( cabligSvc )
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py
index ce324e7b5d172e32369ad6f0e99d74d8ed37e6a7..d03cf50162373ff856076ffc3dbacab429543d84 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/newJOtest.py
@@ -100,13 +100,6 @@ acc.getService("EventPersistencySvc").CnvServices += [ tagInfoMgr.getName() ]
 acc.getService("ProxyProviderSvc").ProviderNames  += [ tagInfoMgr.getName() ]
 acc.getService("IOVDbSvc").Folders += ['/TagInfo<metaOnly/>']
 
-# we need to setup it because of conditions data
-from AthenaPoolCnvSvc.AthenaPoolCnvSvcConf import AthenaPoolCnvSvc
-athenaPoolSvcSvc = AthenaPoolCnvSvc()
-athenaPoolSvcSvc.PoolAttributes = ["DEFAULT_SPLITLEVEL ='0'", "STREAM_MEMBER_WISE = '1'", "DEFAULT_BUFFERSIZE = '32000'", "ContainerName = 'POOLContainer(DataHeader)'; BRANCH_BASKET_SIZE = '256000'", "ContainerName = 'POOLContainerForm(DataHeaderForm)'; BRANCH_BASKET_SIZE = '1024000'", "ContainerName = 'TTree=POOLContainerForm(DataHeaderForm)'; CONTAINER_SPLITLEVEL = '99'"]
-acc.addService( athenaPoolSvcSvc )
-acc.getService( "EventPersistencySvc" ).CnvServices += [ athenaPoolSvcSvc.getName() ]
-
 
 # setup algorithm sequences here, need few additional components
 from TrigUpgradeTest.RegSelConfig import RegSelConfig