diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 8410b669f4c8b6bc1dd0da1cbb0fdaa6b245fcc1..0e45a37b9a90a201982dad1e3dd2acec6ca38c87 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -38,12 +38,12 @@ dd4hep_configure_output()
 
 #==========================================================================
 
-SET(DD4HEP_BUILD_EXAMPLES "AlignDet CLICSiD ClientTests Conditions DDCMS DDCodex DDDB DDDigi DDG4 DDG4_MySensDet LHeD OpticalSurfaces Persistency SimpleDetector"
+SET(DD4HEP_EXAMPLES "AlignDet CLICSiD ClientTests Conditions DDCMS DDCodex DDDB DDDigi DDG4 DDG4_MySensDet LHeD OpticalSurfaces Persistency SimpleDetector"
   CACHE STRING "List of DD4hep Examples to build")
-SEPARATE_ARGUMENTS(DD4HEP_BUILD_EXAMPLES)
+SEPARATE_ARGUMENTS(DD4HEP_EXAMPLES)
 MESSAGE(STATUS "Will be building these examples: ${DD4HEP_BUILD_EXAMPLES}")
 
-FOREACH(DDExample IN LISTS DD4HEP_BUILD_EXAMPLES)
+FOREACH(DDExample IN LISTS DD4HEP_EXAMPLES)
   dd4hep_print("|> Building ${DDExample}")
   add_subdirectory(${DDExample})
 ENDFOREACH()
diff --git a/examples/DDCMS/CMakeLists.txt b/examples/DDCMS/CMakeLists.txt
index 7fb71f1d46d030a17dfb83a8f493a6e1c6669e31..1750e32970f792a807e60d842705ff4589259109 100644
--- a/examples/DDCMS/CMakeLists.txt
+++ b/examples/DDCMS/CMakeLists.txt
@@ -45,8 +45,8 @@ else()
   set(CLHEP CLHEP::CLHEP)
 endif()
 #
-
 #
+#-------------------------------------------------------------------------------
 # we only create only library for DDCMS. The whole package is a single component
 # library. A priory there is no need to seperate the implementation from the
 # plugins....
diff --git a/examples/DDDB/CMakeLists.txt b/examples/DDDB/CMakeLists.txt
index 2cfc21f3e2cc165759fff1efab32db5fa62e7b6a..a9f05e74da4b513a39dae40c0caaccc6cbb38002 100644
--- a/examples/DDDB/CMakeLists.txt
+++ b/examples/DDDB/CMakeLists.txt
@@ -51,26 +51,30 @@ target_include_directories(DDDB
 #---DDDB plugin library -------------------------------------------------------
 dd4hep_add_plugin(DDDBPlugins SOURCES src/plugins/*.cpp USES DDDB)
 install(TARGETS DDDB DDDBPlugins LIBRARY DESTINATION lib)
+set(DDDB_BIN  ${CMAKE_INSTALL_PREFIX}/bin)
+set(DDDB_DATA ${CMAKE_INSTALL_PREFIX}/examples/DDDB)
 
 #---Package installation procedure(s) -----------------------------------------
 install ( PROGRAMS scripts/run_dddb.sh DESTINATION bin)
 install ( PROGRAMS scripts/display_dddb.sh DESTINATION bin)
 install ( PROGRAMS scripts/extract_dddb.sh DESTINATION bin)
-install ( FILES    data/DDDB.tar.gz DESTINATION examples/DDDB)
+install ( FILES    data/DDDB.tar.gz    DESTINATION examples/DDDB)
+install ( FILES    data/materials.xml  DESTINATION examples/DDDB)
 #---Testing--------------------------------------------------------------------
 dd4hep_configure_scripts ( DDDB DEFAULT_SETUP WITH_TESTS )
 #
 #---Testing: Extract DDDB data from zip archive -------------------------------
 dd4hep_add_test_reg( DDDB_extract_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/extract_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/extract_dddb.sh
   REGEX_PASS "DDDB Database successfully installed."
   )
 #
 #---Testing: Load the geometry from archive -----------------------------------
 dd4hep_add_test_reg( DDDB_load_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config DD4hep_ConditionsManagerInstaller
   DEPENDS    DDDB_extract_LONGTEST
   REGEX_PASS "\\+ Converted    12852 placements"
@@ -79,8 +83,9 @@ dd4hep_add_test_reg( DDDB_load_LONGTEST
 #
 #---Testing: Load the geometry + conditions from archive ----------------------
 dd4hep_add_test_reg( DDDB_conditions_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   DEPENDS    DDDB_extract_LONGTEST
   REGEX_PASS "\\+ Converted     9353 conditions" 
@@ -89,8 +94,9 @@ dd4hep_add_test_reg( DDDB_conditions_LONGTEST
 #
 #---Testing: Load the geometry + conditions dump as view from DetElement ------
 dd4hep_add_test_reg( DDDB_conditions_dump_simple_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -exec      DDDB_ConditionsSummary
   DEPENDS    DDDB_extract_LONGTEST
@@ -100,8 +106,9 @@ dd4hep_add_test_reg( DDDB_conditions_dump_simple_LONGTEST
 #
 #---Testing: Load the geometry + dump detector elemets ------------------------
 dd4hep_add_test_reg( DDDB_det_elements_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller  -end-plugin
   -plugin    DDDB_DetectorDump -print DEBUG   -end-plugin
   DEPENDS    DDDB_extract_LONGTEST
@@ -111,8 +118,9 @@ dd4hep_add_test_reg( DDDB_det_elements_LONGTEST
 #
 #---Testing: Load the geometry + dump volumes ---------------------------------
 dd4hep_add_test_reg( DDDB_det_volumes_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -plugin    DDDB_DetectorVolumeDump -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -122,8 +130,9 @@ dd4hep_add_test_reg( DDDB_det_volumes_LONGTEST
 #
 #---Testing: Load the geometry + dump condition keys --------------------------
 dd4hep_add_test_reg( DDDB_det_conditions_keys_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -plugin    DDDB_DetectorConditionKeysDump -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -133,8 +142,9 @@ dd4hep_add_test_reg( DDDB_det_conditions_keys_LONGTEST
 #
 #---Testing: Load the geometry + dump condition keys --------------------------
 dd4hep_add_test_reg( DDDB_det_catalog_data_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -plugin    DDDB_DetectorConditionDump -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -144,8 +154,9 @@ dd4hep_add_test_reg( DDDB_det_catalog_data_LONGTEST
 #
 #---Testing: Load the geometry + dump condition keys --------------------------
 dd4hep_add_test_reg( DDDB_det_catalog_align_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -plugin    DDDB_DetectorAlignmentDump -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -155,8 +166,9 @@ dd4hep_add_test_reg( DDDB_det_catalog_align_LONGTEST
 #
 #---Testing: Load the geometry + conditions dump as view from DetElement ------
 dd4hep_add_test_reg( DDDB_detelement_conditions_dump_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -plugin    DDDB_DetElementConditionDump -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -165,8 +177,9 @@ dd4hep_add_test_reg( DDDB_detelement_conditions_dump_LONGTEST
 #
 #---Testing: Load the geometry + conditions + conditions derives
 dd4hep_add_test_reg( DDDB_derived_conditions_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -plugin    DDDB_DerivedCondTest -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -176,8 +189,9 @@ dd4hep_add_test_reg( DDDB_derived_conditions_LONGTEST
 #
 #---Testing: Load the geometry + conditions + run basic derived alignments test
 dd4hep_add_test_reg( DDDB_alignment_derived_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -plugin    DDDB_DerivedAlignmentsTest -print DEBUG -turns 1 -access 3
   DEPENDS    DDDB_extract_LONGTEST
@@ -187,8 +201,9 @@ dd4hep_add_test_reg( DDDB_alignment_derived_LONGTEST
 #
 #---Testing: Load the geometry + conditions + access derived alignments from DetElement structures
 dd4hep_add_test_reg( DDDB_alignment_access_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config    DD4hep_ConditionsManagerInstaller
   -plugin    DDDB_AlignmentsAccessTest -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -198,9 +213,10 @@ dd4hep_add_test_reg( DDDB_alignment_access_LONGTEST
 #
 #---Testing: Load the geometry + conditions + create DeVelo detector elements
 dd4hep_add_test_reg( DDDB_DeVelo_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
   -iov_start 31-12-2000-00:00:00 -iov_end 31-12-2019-00:00:00
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config DD4hep_ConditionsManagerInstaller
   -plugin DDDB_DeVeloTest -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -210,9 +226,10 @@ dd4hep_add_test_reg( DDDB_DeVelo_LONGTEST
 #
 #---Testing: As above, but access conditions using Gaudi-like service
 dd4hep_add_test_reg( DDDB_DeVelo_Gaudi_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/run_dddb.sh
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/run_dddb.sh
   -iov_start 31-12-2000-00:00:00 -iov_end 31-12-2019-00:00:00
+  -config DD4hep_XMLLoader -arg ${DDDB_DATA}/materials.xml 
   -config DD4hep_ConditionsManagerInstaller
   -plugin DDDB_DeVeloServiceTest -print DEBUG
   DEPENDS    DDDB_extract_LONGTEST
@@ -222,8 +239,8 @@ dd4hep_add_test_reg( DDDB_DeVelo_Gaudi_LONGTEST
 #
 #---Testing: Extract DDDB data from zip archive -------------------------------
 dd4hep_add_test_reg( DDDB_clean_LONGTEST
-  COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_DDDB.sh"
-  EXEC_ARGS  ${CMAKE_INSTALL_PREFIX}/bin/extract_dddb.sh -clean
+  COMMAND    "${DDDB_BIN}/run_test_DDDB.sh"
+  EXEC_ARGS  ${DDDB_BIN}/extract_dddb.sh -clean
   DEPENDS    DDDB_extract_LONGTEST
   DDDB_alignment_access_LONGTEST
   DDDB_alignment_derived_LONGTEST
diff --git a/examples/DDDB/data/materials.xml b/examples/DDDB/data/materials.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b60eeddfd0659ed5ef320ccd1091f892add0752d
--- /dev/null
+++ b/examples/DDDB/data/materials.xml
@@ -0,0 +1,22 @@
+<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" 
+       xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
+  <info name="lhcb_full"
+        title="LHCb detector geometry"
+        author="Markus Frank"
+        url="http://lhcb.cern.ch"
+        status="development"
+        version="1.0">
+    <comment>The conversion of a detector to DD4hep</comment>        
+  </info>
+
+  <geometry open="false" close="false">
+  </geometry>
+  <debug>
+    <type name="materials" value="0"/>
+  </debug>
+  <includes>
+    <gdmlFile  ref="${DD4hepINSTALL}/DDDetectors/compact/elements.xml"/>
+    <gdmlFile  ref="${DD4hepINSTALL}/DDDetectors/compact/materials.xml"/>
+  </includes>
+</lccdd>
diff --git a/examples/DDDB/src/plugins/DDDB2Objects.cpp b/examples/DDDB/src/plugins/DDDB2Objects.cpp
index d21bef5d666071564087e99317e162c69088ce72..2ef7adf7758ece245240821ea14c1d0c85488e88 100644
--- a/examples/DDDB/src/plugins/DDDB2Objects.cpp
+++ b/examples/DDDB/src/plugins/DDDB2Objects.cpp
@@ -202,6 +202,8 @@ namespace dd4hep {
   }
 
   namespace {
+    static UInt_t unique_mat_id = 0xAFFEFEED;
+
     template <> void* CNV<GeoCondition>::convert(GeoCondition *object) const;
     template <> void* CNV<DDDBIsotope>::convert(DDDBIsotope *object) const;
     template <> void* CNV<DDDBElement>::convert(DDDBElement *object) const;
@@ -285,7 +287,12 @@ namespace dd4hep {
       TGeoElementTable* t = TGeoElement::GetElementTable();
       TGeoElement* e = t->FindElement(nam);
       if ( !e )  {
-        e = new TGeoElement(nam,o->symbol.c_str(),o->atom.Zeff,o->atom.A,o->density);
+        size_t iso_count = 0;
+        for(auto i = o->isotopes.begin(); i != o->isotopes.end(); ++i) ++iso_count;
+        if ( 0 == iso_count )
+          e = new TGeoElement(nam,o->symbol.c_str(),o->atom.Zeff,o->atom.A,o->density);
+        else
+          e = new TGeoElement(nam,o->symbol.c_str(), iso_count);
         /// Add the isotopes to the element
         for(auto i = o->isotopes.begin(); i != o->isotopes.end(); ++i)  {
           auto iso = context->geo->isotopes.find((*i).first);
@@ -395,7 +402,6 @@ namespace dd4hep {
           }
         }
         // Now create the medium
-        static UInt_t unique_mat_id = 0xAFFEFEED;
         if (0 == medium) {
           --unique_mat_id;
           medium = new TGeoMedium(name, unique_mat_id, mat);
@@ -412,6 +418,20 @@ namespace dd4hep {
     template <> template <>
     Material CNV<DDDBMaterial>::get<Material>(const string& material_name)  const {
       Context* context = _param<Context>();
+      TGeoManager& mgr = description.manager();
+      TGeoMedium*   gmed = mgr.GetMedium(material_name.c_str());
+      if ( gmed )   {
+        return Material(gmed);
+      }
+      TGeoMaterial* gmat = mgr.GetMaterial(material_name.c_str());
+      if ( gmat )   {
+        --unique_mat_id;
+        gmed = new TGeoMedium(material_name.c_str(), unique_mat_id, gmat);
+        gmed->SetTitle("material");
+        gmed->SetUniqueID(unique_mat_id);
+        if ( context->print.materials ) dddb_print(gmed);
+        return Material(gmed);
+      }
       DDDBMaterial* mat = Context::find(context->geo->materials,material_name);
       if ( !mat )  {
         string mat_name = material_name; // HACK! for bad material names in IT
@@ -424,13 +444,13 @@ namespace dd4hep {
         mat = Context::find(context->geo->materials,mat_name);
       }
       if ( !mat )  {
-	if ( context->print.materials )   {
-	  printout(ERROR,"Cnv<Material>",
-		   "++  Failed to find component material: %s "
-		   "---> Material table dump.", material_name.c_str());
-	  for(auto im=context->geo->materials.begin(); im != context->geo->materials.end(); ++im)
-	    dddb_print((*im).second);
-	}
+        if ( context->print.materials )   {
+          printout(ERROR,"Cnv<Material>",
+                   "++  Failed to find component material: %s "
+                   "---> Material table dump.", material_name.c_str());
+          for(auto im=context->geo->materials.begin(); im != context->geo->materials.end(); ++im)
+            dddb_print((*im).second);
+        }
         except("Materials","++ Undefined material %s",material_name.c_str());
       }
       TGeoMedium* medium = (TGeoMedium*)CNV<DDDBMaterial>(context->description,context).convert(mat);