diff --git a/.dd4hep-ci.d/compile_and_test.sh b/.dd4hep-ci.d/compile_and_test.sh
index 45f3dcf6fbecd70ea70243dbb3aa54c6188f4706..ddfa81152ed8e7a08dcc3b1ab0b5138eba5d9652 100755
--- a/.dd4hep-ci.d/compile_and_test.sh
+++ b/.dd4hep-ci.d/compile_and_test.sh
@@ -5,7 +5,7 @@ source /DD4hep/.dd4hep-ci.d/init_x86_64.sh
 cd /DD4hep
 mkdir build
 cd build
-cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib64/Geant4-10.4.0 -DCMAKE_BUILD_TYPE=Release -DROOT_DIR=$ROOTSYS -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always -Werror" .. && \
+cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always -Werror" -DCMAKE_CXX_STANDARD=17 .. && \
 ninja && \
 ninja install && \
 . ../bin/thisdd4hep.sh && \
diff --git a/.dd4hep-ci.d/init_mac.sh b/.dd4hep-ci.d/init_mac.sh
index f3fdd5aed4a2f0a0b19ccfe88eefa30b569c4780..12e1d5ece533ec5a1adafc5ff1715803459880df 100644
--- a/.dd4hep-ci.d/init_mac.sh
+++ b/.dd4hep-ci.d/init_mac.sh
@@ -55,6 +55,7 @@ export DYLD_LIBRARY_PATH="${PYTHONDIR}/lib:$DYLD_LIBRARY_PATH"
 #--------------------------------------------------------------------------------
 
 export ROOTSYS=${CLICREPO}/software/ROOT/6.18.00/${BUILD_FLAVOUR}
+export ROOT_ROOT=$ROOTSYS
 export PYTHONPATH="$ROOTSYS/lib:$PYTHONPATH"
 export PATH="$ROOTSYS/bin:$PATH"
 export DYLD_LIBRARY_PATH="$ROOTSYS/lib:$DYLD_LIBRARY_PATH"
@@ -63,18 +64,18 @@ export DYLD_LIBRARY_PATH="$ROOTSYS/lib:$DYLD_LIBRARY_PATH"
 #     XercesC
 #--------------------------------------------------------------------------------
 
-export XercesC_HOME=${CLICREPO}/software/Xerces-C/3.1.3/${BUILD_FLAVOUR}
-export PATH="$XercesC_HOME/bin:$PATH"
-export DYLD_LIBRARY_PATH="$XercesC_HOME/lib:$DYLD_LIBRARY_PATH"
+export XercesC_ROOT=${CLICREPO}/software/Xerces-C/3.1.3/${BUILD_FLAVOUR}
+export PATH="$XercesC_ROOT/bin:$PATH"
+export DYLD_LIBRARY_PATH="$XercesC_ROOT/lib:$DYLD_LIBRARY_PATH"
 
 
 #--------------------------------------------------------------------------------
 #     Geant4
 #--------------------------------------------------------------------------------
 
-export G4INSTALL=${CLICREPO}/software/Geant4/10.05.p01/${BUILD_FLAVOUR}
-export G4LIB=$G4INSTALL/lib/Geant4-10.5.1/
-export G4ENV_INIT="${G4INSTALL}/bin/geant4.sh"
+export Geant4_ROOT=${CLICREPO}/software/Geant4/10.05.p01/${BUILD_FLAVOUR}
+export G4LIB=$Geant4_ROOT/lib/Geant4-10.5.1/
+export G4ENV_INIT="${Geant4_ROOT}/bin/geant4.sh"
 export G4SYSTEM="Linux-g++"
 
 
diff --git a/.dd4hep-ci.d/init_x86_64.sh b/.dd4hep-ci.d/init_x86_64.sh
index 5bf64988b633e70d388d9fa0bf7ead5b66d74ac0..1657c891c10e43b363f88667b120586c4b882bbd 100644
--- a/.dd4hep-ci.d/init_x86_64.sh
+++ b/.dd4hep-ci.d/init_x86_64.sh
@@ -1,15 +1,7 @@
 #!/bin/bash
 
 #Determine which OS you are using
-if [ "$(uname)" == "Darwin" ]; then
-    if [ $(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}') == "10.13" ]; then
-        OS=mac1013
-        COMPILER_TYPE=llvm
-        COMPILER_VERSION=llvm90
-    else
-        echo "Bootstrap only works on macOS High Sierra (10.13)"
-    fi
-elif [ "$(uname)" == "Linux" ]; then
+if [ "$(uname)" == "Linux" ]; then
     if [ "$( cat /etc/*-release | grep Scientific )" ]; then
         OS=slc6
     elif [ "$( cat /etc/*-release | grep CentOS )" ]; then
@@ -26,8 +18,8 @@ if [ ! -d "/cvmfs" ]; then
     exit 1
 fi
 
-if [ ! -d "/cvmfs/clicdp.cern.ch" ]; then
-    echo "No clicdp CVMFS repository detected, please add it."
+if [ ! -d "/cvmfs/sft.cern.ch" ]; then
+    echo "No sft CVMFS repository detected, please add it."
     exit 1
 fi
 
@@ -37,10 +29,10 @@ if [ -z ${COMPILER_TYPE} ]; then
     COMPILER_TYPE="gcc"
 fi
 if [ ${COMPILER_TYPE} == "gcc" ]; then
-    COMPILER_VERSION="gcc7"
+    COMPILER_VERSION="gcc8"
 fi
-if [[ ${COMPILER_TYPE} == "llvm" && ${OS} != "mac1013" ]]; then
-    COMPILER_VERSION="llvm5"
+if [[ ${COMPILER_TYPE} == "clang" ]]; then
+    COMPILER_VERSION="clang8"
 fi
 
 
@@ -51,32 +43,34 @@ fi
 
 
 # General variables
-CLICREPO=/cvmfs/clicdp.cern.ch
+LCGREPO=/cvmfs/sft.cern.ch/lcg/releases/LCG_96
 BUILD_FLAVOUR=x86_64-${OS}-${COMPILER_VERSION}-${BUILD_TYPE}
 
+export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/views/LCG_96/${BUILD_FLAVOUR}/lib64:/cvmfs/sft.cern.ch/lcg/views/LCG_96/${BUILD_FLAVOUR}/lib:$LD_LIBRARY_PATH
+
 #--------------------------------------------------------------------------------
 #     Compiler
 #--------------------------------------------------------------------------------
 
-if [[ ${COMPILER_TYPE} == "gcc" && ${OS} != "mac1013" ]]; then
-    source ${CLICREPO}/compilers/gcc/7.3.0/x86_64-${OS}/setup.sh
+if [[ ${COMPILER_TYPE} == "gcc" ]]; then
+    source /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-${OS}/setup.sh
 fi
-if [[ ${COMPILER_TYPE} == "llvm" && ${OS} != "mac1013" ]]; then
-    source ${CLICREPO}/compilers/llvm/5.0.1/x86_64-${OS}/setup.sh
+if [[ ${COMPILER_TYPE} == "clang" ]]; then
+    source /cvmfs/sft.cern.ch/lcg/releases/clang/8.0.0-ed577/x86_64-${OS}/setup.sh
 fi
 
 #--------------------------------------------------------------------------------
 #     CMake
 #--------------------------------------------------------------------------------
 
-export CMAKE_HOME=${CLICREPO}/software/CMake/3.9.5/${BUILD_FLAVOUR}
+export CMAKE_HOME=${LCGREPO}/CMake/3.14.3/${BUILD_FLAVOUR}
 export PATH=${CMAKE_HOME}/bin:$PATH
 
 #--------------------------------------------------------------------------------
 #     Python
 #--------------------------------------------------------------------------------
 
-export PYTHONDIR=${CLICREPO}/software/Python/2.7.14/${BUILD_FLAVOUR}
+export PYTHONDIR=${LCGREPO}/Python/2.7.16/${BUILD_FLAVOUR}
 export PATH=${PYTHONDIR}/bin:$PATH
 export LD_LIBRARY_PATH=${PYTHONDIR}/lib:${LD_LIBRARY_PATH}
 
@@ -84,7 +78,8 @@ export LD_LIBRARY_PATH=${PYTHONDIR}/lib:${LD_LIBRARY_PATH}
 #     ROOT
 #--------------------------------------------------------------------------------
 
-export ROOTSYS=${CLICREPO}/software/ROOT/6.12.06/${BUILD_FLAVOUR}
+export ROOTSYS=${LCGREPO}/ROOT/6.18.00/${BUILD_FLAVOUR}
+export ROOT_ROOT=$ROOTSYS
 export PYTHONPATH="$ROOTSYS/lib:$PYTHONPATH"
 export PATH="$ROOTSYS/bin:$PATH"
 export LD_LIBRARY_PATH="$ROOTSYS/lib:$LD_LIBRARY_PATH"
@@ -93,28 +88,24 @@ export LD_LIBRARY_PATH="$ROOTSYS/lib:$LD_LIBRARY_PATH"
 #     XercesC
 #--------------------------------------------------------------------------------
 
-export XercesC_HOME=${CLICREPO}/software/Xerces-C/3.2.0/${BUILD_FLAVOUR}
-export PATH="$XercesC_HOME/bin:$PATH"
-export LD_LIBRARY_PATH="$XercesC_HOME/lib:$LD_LIBRARY_PATH"
-
+export XercesC_ROOT=${LCGREPO}/XercesC/3.1.3/${BUILD_FLAVOUR}
+export PATH="$XercesC_ROOT/bin:$PATH"
+export LD_LIBRARY_PATH="$XercesC_ROOT/lib:$LD_LIBRARY_PATH"
 
 #--------------------------------------------------------------------------------
 #     Geant4
 #--------------------------------------------------------------------------------
-#Determine which Geant4 version to use
-if [ -z ${GEANT4_VERSION} ]; then
-GEANT4_VERSION="10.04"
-fi
 
-export G4INSTALL=${CLICREPO}/software/Geant4/${GEANT4_VERSION}/${BUILD_FLAVOUR}
-export G4ENV_INIT="${G4INSTALL}/bin/geant4.sh"
+export Geant4_ROOT=${LCGREPO}/Geant4/10.05.p01/${BUILD_FLAVOUR}
+export G4LIB=$Geant4_ROOT/lib/Geant4-10.5.1/
+export G4ENV_INIT="${Geant4_ROOT}/bin/geant4.sh"
 export G4SYSTEM="Linux-g++"
 
 
 #--------------------------------------------------------------------------------
 #     LCIO
 #--------------------------------------------------------------------------------
-export LCIO=${CLICREPO}/software/LCIO/2.11.0/${BUILD_FLAVOUR}
+export LCIO=/cvmfs/clicdp.cern.ch/software/LCIO/2.12.1/x86_64-${OS}-${COMPILER_VERSION}-LCG_96
 export PYTHONPATH=${LCIO}/python
 export PATH=${LCIO}/bin:$PATH
 export LD_LIBRARY_PATH="$LCIO/lib:$LD_LIBRARY_PATH"
@@ -124,19 +115,19 @@ export LD_LIBRARY_PATH="$LCIO/lib:$LD_LIBRARY_PATH"
 #     Boost
 #--------------------------------------------------------------------------------
 
-export BOOST_ROOT=${CLICREPO}/software/Boost/1.65.1/${BUILD_FLAVOUR}
+export BOOST_ROOT=${LCGREPO}/Boost/1.70.0/${BUILD_FLAVOUR}
 export LD_LIBRARY_PATH="${BOOST_ROOT}/lib:$LD_LIBRARY_PATH"
 
 #--------------------------------------------------------------------------------
 #     Ninja
 #--------------------------------------------------------------------------------
 
-export Ninja_HOME=${CLICREPO}/software/Ninja/1.8.2/${BUILD_FLAVOUR}
-export PATH="$Ninja_HOME:$PATH"
+export Ninja_HOME=${LCGREPO}/ninja/1.9.0/${BUILD_FLAVOUR}
+export PATH="$Ninja_HOME/bin:$PATH"
 
 #--------------------------------------------------------------------------------
 #     Doxygen
 #--------------------------------------------------------------------------------
 
-export Doxygen_HOME=${CLICREPO}/software/Doxygen/1.8.13/${BUILD_FLAVOUR}
+export Doxygen_HOME=${LCGREPO}/doxygen/1.8.15/${BUILD_FLAVOUR}
 export PATH="$Doxygen_HOME/bin:$PATH"
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6fa96c9bb77fd60c6e607860084e41324845cb5e..5544921d46096b294fe303735f3712e6798d635a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,18 +3,16 @@ stages:
     - documentation
     - deployment
 
-slc6-gcc7-Geant10.2:
+slc6-gcc8-Geant10.5:
   stage: build
   tags:
     - docker
-  image: clicdp/slc6-base
+  image: clicdp/slc6-lcg
   script:
-    - export COMPILER_TYPE="gcc"
-    - export GEANT4_VERSION="10.02.p03"
     - source .dd4hep-ci.d/init_x86_64.sh
     - mkdir build
     - cd build
-    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib64/Geant4-10.2.3 -DCMAKE_BUILD_TYPE=Release -DROOT_DIR=$ROOTSYS ..
+    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - . ../bin/thisdd4hep.sh
@@ -22,23 +20,21 @@ slc6-gcc7-Geant10.2:
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake -GNinja ..
+    - cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - ctest --output-on-failure
 
-slc6-ggc7-Geant10.3:
+centos7-gcc8-Geant10.5:
   stage: build
   tags:
     - docker
-  image: clicdp/slc6-base
+  image: clicdp/cc7-lcg
   script:
-    - export COMPILER_TYPE="gcc"
-    - export GEANT4_VERSION="10.03.p03"
     - source .dd4hep-ci.d/init_x86_64.sh
     - mkdir build
     - cd build
-    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib64/Geant4-10.3.3 -DCMAKE_BUILD_TYPE=Release -DROOT_DIR=$ROOTSYS ..
+    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - . ../bin/thisdd4hep.sh
@@ -46,23 +42,21 @@ slc6-ggc7-Geant10.3:
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake -GNinja ..
+    - cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=17  ..
     - ninja
     - ninja install
     - ctest --output-on-failure
 
-slc6-gcc7-Geant10.4-XERCESC:
+centos7-gcc8-Geant10.5-XERCESC:
   stage: build
   tags:
     - docker
-  image: clicdp/slc6-base
+  image: clicdp/cc7-lcg
   script:
-    - export COMPILER_TYPE="gcc"
-    - export GEANT4_VERSION="10.04"
     - source .dd4hep-ci.d/init_x86_64.sh
     - mkdir build
     - cd build
-    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib64/Geant4-10.4.0 -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release -DDD4HEP_USE_XERCESC=ON -DXERCESC_ROOT_DIR=${XercesC_HOME} -DROOT_DIR=$ROOTSYS ..
+    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DDD4HEP_USE_XERCESC=ON -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - . ../bin/thisdd4hep.sh
@@ -70,24 +64,23 @@ slc6-gcc7-Geant10.4-XERCESC:
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake -GNinja -DXERCESC_ROOT_DIR=${XercesC_HOME} ..
+    - cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_XERCESC=ON -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - ctest --output-on-failure
 
 
-slc6-llvm5-Geant10.4:
+centos7-clang8-Geant10.5-XERCESC:
   stage: build
   tags:
     - docker
-  image: clicdp/slc6-base
+  image: clicdp/cc7-lcg
   script:
-    - export COMPILER_TYPE="llvm"
-    - export GEANT4_VERSION="10.04"
+    - export COMPILER_TYPE="clang"
     - source .dd4hep-ci.d/init_x86_64.sh
     - mkdir build
     - cd build
-    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib64/Geant4-10.4.0 -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release -DROOT_DIR=$ROOTSYS ..
+    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DDD4HEP_USE_XERCESC=ON -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - . ../bin/thisdd4hep.sh
@@ -95,31 +88,7 @@ slc6-llvm5-Geant10.4:
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake -GNinja ..
-    - ninja
-    - ninja install
-    - ctest --output-on-failure
-
-slc6-llvm5-Geant10.3-XERCESC:
-  stage: build
-  tags:
-    - docker
-  image: clicdp/slc6-base
-  script:
-    - export COMPILER_TYPE="llvm"
-    - export GEANT4_VERSION="10.03.p03"
-    - source .dd4hep-ci.d/init_x86_64.sh
-    - mkdir build
-    - cd build
-    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib64/Geant4-10.3.3 -DCMAKE_BUILD_TYPE=Release -DDD4HEP_USE_XERCESC=ON -DXERCESC_ROOT_DIR=${XercesC_HOME} -DROOT_DIR=$ROOTSYS ..
-    - ninja
-    - ninja install
-    - . ../bin/thisdd4hep.sh
-    - ctest --output-on-failure -j4
-    - cd ../examples/
-    - mkdir build
-    - cd build
-    - cmake -GNinja -DXERCESC_ROOT_DIR=${XercesC_HOME} ..
+    - cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_XERCESC=ON -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - ctest --output-on-failure
@@ -132,7 +101,7 @@ mac1014-clang100-Geant10.5:
     - source .dd4hep-ci.d/init_mac.sh
     - mkdir build
     - cd build
-    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib/Geant4-10.5.1 -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release -DROOT_DIR=$ROOTSYS -DCMAKE_CXX_STANDARD=17 ..
+    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib/Geant4-10.5.1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - . ../bin/thisdd4hep.sh
@@ -140,7 +109,7 @@ mac1014-clang100-Geant10.5:
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake -DBoost_NO_BOOST_CMAKE=ON -GNinja ..
+    - cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - ctest --output-on-failure
@@ -153,7 +122,7 @@ mac1014-clang100-Geant10.5-XERCESC:
     - source .dd4hep-ci.d/init_mac.sh
     - mkdir build
     - cd build
-    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DGeant4_DIR=$G4INSTALL/lib/Geant4-10.5.1 -DCMAKE_BUILD_TYPE=Release -DDD4HEP_USE_XERCESC=ON -DXERCESC_ROOT_DIR=${XercesC_HOME} -DROOT_DIR=$ROOTSYS -DCMAKE_CXX_STANDARD=17 ..
+    - cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DDD4HEP_USE_XERCESC=ON -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - . ../bin/thisdd4hep.sh
@@ -161,7 +130,7 @@ mac1014-clang100-Geant10.5-XERCESC:
     - cd ../examples/
     - mkdir build
     - cd build
-    - cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DXERCESC_ROOT_DIR=${XercesC_HOME} ..
+    - cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_XERCESC=ON -DCMAKE_CXX_STANDARD=17 ..
     - ninja
     - ninja install
     - ctest --output-on-failure
@@ -178,7 +147,7 @@ doxygen:
     stage: documentation
     tags:
         - docker
-    image: clicdp/slc6-build
+    image: clicdp/cc7-lcg
     script:
         - source .dd4hep-ci.d/init_x86_64.sh
         - mkdir -p public
diff --git a/.travis.yml b/.travis.yml
index a6fe3bf3c2309823de75639f4f42a04a7f27a5a6..51b62fb98b551e1982617d749aadc40a6853cc05 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,7 +9,7 @@ language: cpp
 env:
   matrix:
     - COMPILER=gcc
-    - COMPILER=llvm
+    - COMPILER=clang
 
 before_install:
   - wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
@@ -22,8 +22,14 @@ before_install:
   - sudo mv default.local /etc/cvmfs/default.local
   - sudo /etc/init.d/autofs stop
   - sudo cvmfs_config setup
+  - sudo mkdir -p /cvmfs/sft.cern.ch
+  - sudo mkdir -p /cvmfs/geant4.cern.ch
   - sudo mkdir -p /cvmfs/clicdp.cern.ch
+  - sudo mount -t cvmfs sft.cern.ch /cvmfs/sft.cern.ch
+  - sudo mount -t cvmfs geant4.cern.ch /cvmfs/geant4.cern.ch
   - sudo mount -t cvmfs clicdp.cern.ch /cvmfs/clicdp.cern.ch
+  - ls /cvmfs/sft.cern.ch
+  - ls /cvmfs/geant4.cern.ch
   - ls /cvmfs/clicdp.cern.ch
 
 # command to install dependencies
@@ -36,7 +42,7 @@ install:
 
 # command to run tests
 script:
-  - docker run -ti --name CI_container -v $PKGDIR:/DD4hep -e COMPILER_TYPE=$COMPILER -v /cvmfs/clicdp.cern.ch:/cvmfs/clicdp.cern.ch -d clicdp/slc6-build /bin/bash
+  - docker run -ti --name CI_container -v $PKGDIR:/DD4hep -e COMPILER_TYPE=$COMPILER -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/clicdp.cern.ch:/cvmfs/clicdp.cern.ch -d clicdp/cc7-lcg /bin/bash
   - docker exec -ti CI_container /bin/bash -c "./DD4hep/.dd4hep-ci.d/compile_and_test.sh"
   - if [[ "${TRAVIS_EVENT_TYPE}" != "cron" && "${TRAVIS_EVENT_TYPE}" != "pull_request" && "${COMPILER}" == "gcc" && "${TRAVIS_REPO_SLUG%/*}" == "AIDASoft" ]];
     then curl -X POST -F token=$GITLAB_TOKEN -F ref=master https://gitlab.cern.ch/api/v4/projects/7828/trigger/pipeline;
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 583db0171579feb09b5a9d52a87bd9fffc31d9b3..5594cff69071ffeca359e3b60d14122fa2db77f6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,7 @@
 cmake_minimum_required(VERSION 3.4.3 FATAL_ERROR)
-
+if (POLICY CMP0074)
+  cmake_policy(SET CMP0074 NEW) # CMake 3.12
+endif ()
 PROJECT( DD4hep LANGUAGES NONE)
 
 #################
diff --git a/cmake/DD4hep.cmake b/cmake/DD4hep.cmake
index faa2a77d5b2f7861e941a43d8557183f0e2cd521..7f45928f9df8fe29c45ed52256629f4c7fb15f26 100644
--- a/cmake/DD4hep.cmake
+++ b/cmake/DD4hep.cmake
@@ -10,6 +10,10 @@
 #
 #=================================================================================
 
+if (POLICY CMP0074)
+  cmake_policy(SET CMP0074 NEW) # CMake 3.12
+endif ()
+
 #---------------------------------------------------------------------------------------------------
 if ( DD4hep_DIR )
   set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${DD4hep_DIR}/cmake ) 
diff --git a/cmake/FindXercesC.cmake b/cmake/FindXercesC.cmake
deleted file mode 100644
index 09dca4299e1212dcf69eee1fe10c8c3cbffd4be5..0000000000000000000000000000000000000000
--- a/cmake/FindXercesC.cmake
+++ /dev/null
@@ -1,79 +0,0 @@
-# - Find Xerces-C
-# This module tries to find the Xerces-C library and headers.
-# Once done this will define
-#
-#   XERCESC_FOUND - system has Xerces-C headers and libraries
-#   XERCESC_INCLUDE_DIRS - the include directories needed for Xerces-C
-#   XERCESC_LIBRARIES - the libraries needed to use Xerces-C
-#
-# Variables used by this module, which can change the default behaviour and
-# need to be set before calling find_package:
-#
-#   XERCESC_ROOT_DIR            Root directory to Xerces-C installation. Will
-#                               be used ahead of CMake default path.
-#
-# The following advanced variables may be used if the module has difficulty
-# locating Xerces-C or you need fine control over what is used.
-#
-#   XERCESC_INCLUDE_DIR
-#
-#   XERCESC_LIBRARY
-#
-# Copyright (c) 2009, Ben Morgan, <Ben.Morgan@warwick.ac.uk>
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-
-
-# Look for the header - preferentially searching below XERCESC_ROOT_DIR
-find_path(
-    XERCESC_INCLUDE_DIR 
-    NAMES xercesc/util/XercesVersion.hpp
-    PATHS ${XERCESC_ROOT_DIR}
-    PATH_SUFFIXES include
-    NO_DEFAULT_PATH
-)
-
-# If we didn't find it there, fall back to some standard search paths
-find_path(
-    XERCESC_INCLUDE_DIR
-    NAMES xercesc/util/XercesVersion.hpp
-)
-
-# Look for the library, preferentially searching below XERCESC_ROOT_DIR
-find_library(
-    XERCESC_LIBRARY
-    NAMES xerces-c xerces-c_3
-    PATHS ${XERCESC_ROOT_DIR}
-    PATH_SUFFIXES lib64 lib32 lib
-    NO_DEFAULT_PATH
-)
-
-find_library(
-    XERCESC_LIBRARY
-    NAMES xerces-c xerces-c_3
-)
-
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(
-    XercesC
-    DEFAULT_MSG
-    XERCESC_LIBRARY
-    XERCESC_INCLUDE_DIR
-)
-
-if (XERCESC_FOUND)
-    set(XERCESC_LIBRARIES ${XERCESC_LIBRARY})
-    set(XERCESC_INCLUDE_DIRS ${XERCESC_INCLUDE_DIR})
-else (XERCESC_FOUND)
-    set(XERCESC_LIBRARIES)
-    set(XERCESC_INCLUDE_DIRS)
-endif (XERCESC_FOUND)
-
-
-mark_as_advanced(
-    XERCESC_LIBRARY 
-    XERCESC_INCLUDE_DIR
-)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 7d862ed3117168a8d632171b161fc7deafaaf9c4..3dcffb0d1d72fdccfcc625202457740cf725cf68 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -22,9 +22,6 @@
 # M.Frank, CERN, 2015:  Adapt to new cmake scripts
 #==========================================================================
 cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
-if (POLICY CMP0074)
-  cmake_policy(SET CMP0074 NEW) # CMake 3.12
-endif ()
 
 project( DD4hep_Examples )
 
diff --git a/examples/DDCMS/CMakeLists.txt b/examples/DDCMS/CMakeLists.txt
index ae967864186885e95e661aa72745d53fb5fccb7a..138581dc3b0d031bd5f4a4b76e8a8e84ea31c4d3 100644
--- a/examples/DDCMS/CMakeLists.txt
+++ b/examples/DDCMS/CMakeLists.txt
@@ -28,7 +28,7 @@ endif()
 dd4hep_package(    DDCMS
   USES             [DD4hep REQUIRED COMPONENTS DDCore]
                    [ROOT REQUIRED COMPONENTS Geom GenVector]
-  OPTIONAL         ${CLHEP}
+  OPTIONAL         ${CLHEP} XERCESC
   INCLUDE_DIRS     include
   INSTALL_INCLUDES include/DDCMS)
 #
@@ -41,7 +41,8 @@ dd4hep_package(    DDCMS
 #---DDCMS plugin library -------------------------------------------------------
 dd4hep_add_plugin ( DDCMS SOURCES src/*.cpp src/plugins/*.cpp
   USES  [DD4hep REQUIRED COMPONENTS DDCore DDAlign DDCond]
-        [ROOT REQUIRED COMPONENTS Geom GenVector])
+        [ROOT REQUIRED COMPONENTS Geom GenVector]
+OPTIONAL       XERCESC)
 
 #---Package installation procedure(s) -----------------------------------------
 dd4hep_install_dir( data    DESTINATION ${DD4hep_DIR}/examples/DDCMS )
diff --git a/examples/DDCodex/CMakeLists.txt b/examples/DDCodex/CMakeLists.txt
index b24ab73127a0c985e0e42742837ac6a848cbc245..9899701da4e5056e718dc2a7f8ab9e420fe8b066 100755
--- a/examples/DDCodex/CMakeLists.txt
+++ b/examples/DDCodex/CMakeLists.txt
@@ -16,12 +16,14 @@ dd4hep_configure_output ()
 dd4hep_package ( DDCodex MAJOR 0 MINOR 0 PATCH 1
   USES  [ROOT   REQUIRED COMPONENTS Geom] 
         [DD4hep REQUIRED COMPONENTS DDCore]
+  OPTIONAL       XERCESC
  )
 #
 #---DDCodex plugin library -------------------------------------------------------
 dd4hep_add_plugin(DDCodexPlugins
   SOURCES src/*.cpp
   USES    [ROOT    REQUIRED COMPONENTS Geom GenVector]
+  OPTIONAL       XERCESC
 )
 #
 #