diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd13f58b40b5479cfa2b8cf65b911ffa79a315b8..652d3afaead1e9d75d8ebe628c32909644fc62ef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,6 +73,7 @@ include(DD4hep_XML_setup)
 
 #---Packages------------------------------------------------------------------------
 add_subdirectory(DDSegmentation)
+add_subdirectory(DDParsers)
 add_subdirectory(DDCore)
 add_subdirectory(DDSurfaces)
 add_subdirectory(DDRec)
diff --git a/DDCore/CMakeLists.txt b/DDCore/CMakeLists.txt
index 81d0a6218b0ab0ee1e8532909bcbbf0594c1a345..3e98d8965bc6b709763db216ee66c88015726043 100644
--- a/DDCore/CMakeLists.txt
+++ b/DDCore/CMakeLists.txt
@@ -11,7 +11,7 @@
 #=================================================================================
 dd4hep_package(    DDCore
   USES             [ROOT REQUIRED COMPONENTS Geom GenVector]
-                   DDSegmentation
+                   DDSegmentation DDParsers
   OPTIONAL         XERCESC
   INCLUDE_DIRS     include
   INSTALL_INCLUDES include/DD4hep include/XML  include/JSON)
@@ -33,12 +33,6 @@ dd4hep_add_dictionary( G__dd4hep
   include/XML/tinystring.h
   LINKDEF include/ROOT/LinkDef.h )
 
-dd4hep_add_package_library ( DDParsers
-  INCLUDE_DIRS  
-  LINK_LIBRARIES
-  SOURCES        src/Evaluator/*.cpp 
-  OPTIONAL       [BOOST SOURCES src/parsers/*.cpp]
-  )
 
 #---Generate DDCore Library-------------------------------------------------------
 dd4hep_add_package_library ( DDCore
@@ -50,4 +44,4 @@ dd4hep_add_package_library ( DDCore
   )
 
 # Generate DDCore plugins---------------------------------------------------------
-dd4hep_add_plugin ( DDCorePlugins  SOURCES src/plugins/*.cpp )
+dd4hep_add_plugin ( DDCorePlugins SOURCES src/plugins/*.cpp )
diff --git a/DDCore/include/DD4hep/DD4hepUnits.h b/DDCore/include/DD4hep/DD4hepUnits.h
index f3f10c35b57cdbbb1040c43821291d301f7572cf..a89869a538367e5d710befcb9f048a9319f76796 100644
--- a/DDCore/include/DD4hep/DD4hepUnits.h
+++ b/DDCore/include/DD4hep/DD4hepUnits.h
@@ -1,395 +1 @@
-//==========================================================================
-//  AIDA Detector description implementation 
-//--------------------------------------------------------------------------
-// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
-// All rights reserved.
-//
-// For the licensing terms see $DD4hepINSTALL/LICENSE.
-// For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
-//
-// Author     : M.Frank
-//
-//==========================================================================
-
-//
-// System of Units for dd4hep - similar to Geant3 and TGeo/ROOT
-//
-// Taken from CLHEP with the following basic translations:
-//
-// Geant4                                   dd4hep
-// ----------------------------------------------------------------
-// millimeter         mm=1,cm=10            centimeter  mm=0.1,cm=1
-// nanosecond         s=1e9                 second      ns=1e-9,s=1
-// Mega electron Volt GeV=1e3               GeV         GeV=1
-// radian             rad=1                 rad = 1  //NB: different from TGeo
-//
-//
-#ifndef DD4HEP_TGEOUNITS_H
-#define DD4HEP_TGEOUNITS_H
-
-/// Utility namespace to support TGeo units.
-namespace dd4hep {
-
-  //namespace units  {
-    //
-    // Length [L]
-    //
-    static const double millimeter = 0.1;
-    static const double millimeter2 = millimeter * millimeter;
-    static const double millimeter3 = millimeter * millimeter * millimeter;
-
-    static const double centimeter = 10. * millimeter;
-    static const double centimeter2 = centimeter * centimeter;
-    static const double centimeter3 = centimeter * centimeter * centimeter;
-
-    static const double meter = 1000. * millimeter;
-    static const double meter2 = meter * meter;
-    static const double meter3 = meter * meter * meter;
-
-    static const double kilometer = 1000. * meter;
-    static const double kilometer2 = kilometer * kilometer;
-    static const double kilometer3 = kilometer * kilometer * kilometer;
-
-    static const double parsec = 3.0856775807e+16 * meter;
-
-    static const double micrometer = 1.e-6 * meter;
-    static const double nanometer = 1.e-9 * meter;
-    static const double angstrom = 1.e-10 * meter;
-    static const double fermi = 1.e-15 * meter;
-
-    static const double barn = 1.e-28 * meter2;
-    static const double millibarn = 1.e-3 * barn;
-    static const double microbarn = 1.e-6 * barn;
-    static const double nanobarn = 1.e-9 * barn;
-    static const double picobarn = 1.e-12 * barn;
-
-    // symbols
-    static const double nm = nanometer;
-    static const double um = micrometer;
-
-    static const double mm = millimeter;
-    static const double mm2 = millimeter2;
-    static const double mm3 = millimeter3;
-
-    static const double cm = centimeter;
-    static const double cm2 = centimeter2;
-    static const double cm3 = centimeter3;
-
-    static const double m = meter;
-    static const double m2 = meter2;
-    static const double m3 = meter3;
-
-    static const double km = kilometer;
-    static const double km2 = kilometer2;
-    static const double km3 = kilometer3;
-
-    static const double pc = parsec;
-
-    //
-    // Angle
-    //
-    // static const double radian = 180. / 3.14159265358979323846;   // => degree=1
-    // static const double milliradian = 1.e-3 * radian;
-    // static const double degree = 1.;   //= (3.14159265358979323846/180.0)*radian;
-
-    //fg: use radians as default unit as this is needed for all math functions
-    //    and everywhere else, except in TGeo shapes -> this is taken care of in shape Handles ....
-    static const double radian = 1. ;
-    static const double milliradian = 1.e-3 * radian;
-    static const double degree = (3.14159265358979323846/180.0)*radian;
-
-    static const double steradian = 1.;
-
-    // symbols
-    static const double rad = radian;
-    static const double mrad = milliradian;
-    static const double sr = steradian;
-    static const double deg = degree;
-
-    //
-    // Time [T]
-    //
-    static const double nanosecond = 1.e-9;
-    static const double second = 1.e+9 * nanosecond;
-    static const double millisecond = 1.e-3 * second;
-    static const double microsecond = 1.e-6 * second;
-    static const double picosecond = 1.e-12 * second;
-
-    static const double hertz = 1. / second;
-    static const double kilohertz = 1.e+3 * hertz;
-    static const double megahertz = 1.e+6 * hertz;
-
-    // symbols
-    static const double ns = nanosecond;
-    static const double s = second;
-    static const double ms = millisecond;
-
-    //
-    // Electric charge [Q]
-    //
-    static const double eplus = 1.;   // positron charge
-    static const double e_SI = 1.602176487e-19;   // positron charge in coulomb
-    static const double coulomb = eplus / e_SI;   // coulomb = 6.24150 e+18 * eplus
-
-    //
-    // Energy [E]
-    //
-    static const double megaelectronvolt = 1.e-3;
-    static const double electronvolt = 1.e-6 * megaelectronvolt;
-    static const double kiloelectronvolt = 1.e-3 * megaelectronvolt;
-    static const double gigaelectronvolt = 1.e+3 * megaelectronvolt;
-    static const double teraelectronvolt = 1.e+6 * megaelectronvolt;
-    static const double petaelectronvolt = 1.e+9 * megaelectronvolt;
-
-    static const double joule = electronvolt / e_SI;   // joule = 6.24150 e+12 * MeV
-
-    // symbols
-    static const double MeV = megaelectronvolt;
-    static const double eV = electronvolt;
-    static const double keV = kiloelectronvolt;
-    static const double GeV = gigaelectronvolt;
-    static const double TeV = teraelectronvolt;
-    static const double PeV = petaelectronvolt;
-
-    //
-    // Mass [E][T^2][L^-2]
-    //
-    static const double kilogram = joule * second * second / (meter * meter);
-    static const double gram = 1.e-3 * kilogram;
-    static const double milligram = 1.e-3 * gram;
-
-    // symbols
-    static const double kg = kilogram;
-    static const double g = gram;
-    static const double mg = milligram;
-
-    //
-    // Power [E][T^-1]
-    //
-    static const double watt = joule / second;   // watt = 6.24150 e+3 * MeV/ns
-
-    //
-    // Force [E][L^-1]
-    //
-    static const double newton = joule / meter;   // newton = 6.24150 e+9 * MeV/mm
-
-    //
-    // Pressure [E][L^-3]
-    //
-#define pascal hep_pascal                          // a trick to avoid warnings
-    static const double hep_pascal = newton / m2;   // pascal = 6.24150 e+3 * MeV/mm3
-    static const double bar = 100000 * pascal;   // bar    = 6.24150 e+8 * MeV/mm3
-    static const double atmosphere = 101325 * pascal;   // atm    = 6.32420 e+8 * MeV/mm3
-
-    //
-    // Electric current [Q][T^-1]
-    //
-    static const double ampere = coulomb / second;   // ampere = 6.24150 e+9 * eplus/ns
-    static const double milliampere = 1.e-3 * ampere;
-    static const double microampere = 1.e-6 * ampere;
-    static const double nanoampere = 1.e-9 * ampere;
-
-    //
-    // Electric potential [E][Q^-1]
-    //
-    static const double megavolt = megaelectronvolt / eplus;
-    static const double kilovolt = 1.e-3 * megavolt;
-    static const double volt = 1.e-6 * megavolt;
-
-    //
-    // Electric resistance [E][T][Q^-2]
-    //
-    static const double ohm = volt / ampere;   // ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns)
-
-    //
-    // Electric capacitance [Q^2][E^-1]
-    //
-    static const double farad = coulomb / volt;   // farad = 6.24150e+24 * eplus/Megavolt
-    static const double millifarad = 1.e-3 * farad;
-    static const double microfarad = 1.e-6 * farad;
-    static const double nanofarad = 1.e-9 * farad;
-    static const double picofarad = 1.e-12 * farad;
-
-    //
-    // Magnetic Flux [T][E][Q^-1]
-    //
-    static const double weber = volt * second;   // weber = 1000*megavolt*ns
-
-    //
-    // Magnetic Field [T][E][Q^-1][L^-2]
-    //
-    static const double tesla = volt * second / meter2;   // tesla =0.001*megavolt*ns/mm2
-
-    static const double gauss = 1.e-4 * tesla;
-    static const double kilogauss = 1.e-1 * tesla;
-
-    //
-    // Inductance [T^2][E][Q^-2]
-    //
-    static const double henry = weber / ampere;   // henry = 1.60217e-7*MeV*(ns/eplus)**2
-
-    //
-    // Temperature
-    //
-    static const double kelvin = 1.;
-
-    //
-    // Amount of substance
-    //
-    static const double mole = 1.;
-
-    //
-    // Activity [T^-1]
-    //
-    static const double becquerel = 1. / second;
-    static const double curie = 3.7e+10 * becquerel;
-
-    //
-    // Absorbed dose [L^2][T^-2]
-    //
-    static const double gray = joule / kilogram;
-    static const double kilogray = 1.e+3 * gray;
-    static const double milligray = 1.e-3 * gray;
-    static const double microgray = 1.e-6 * gray;
-
-    //
-    // Luminous intensity [I]
-    //
-    static const double candela = 1.;
-
-    //
-    // Luminous flux [I]
-    //
-    static const double lumen = candela * steradian;
-
-    //
-    // Illuminance [I][L^-2]
-    //
-    static const double lux = lumen / meter2;
-
-    //
-    // Miscellaneous
-    //
-    static const double perCent = 0.01;
-    static const double perThousand = 0.001;
-    static const double perMillion = 0.000001;
-
-    // -*- C++ -*-
-    // ----------------------------------------------------------------------
-    // HEP coherent Physical Constants
-    //
-    // This file has been provided by Geant4 (simulation toolkit for HEP).
-    //
-    // The basic units are :
-    //            millimeter
-    //            nanosecond
-    //            Mega electron Volt
-    //            positon charge
-    //            degree Kelvin
-    //              amount of substance (mole)
-    //              luminous intensity (candela)
-    //            radian
-    //              steradian
-    //
-    // Below is a non exhaustive list of Physical CONSTANTS,
-    // computed in the Internal HEP System Of Units.
-    //
-    // Most of them are extracted from the Particle Data Book :
-    //        Phys. Rev. D  volume 50 3-1 (1994) page 1233
-    //
-    //        ...with a meaningful (?) name ...
-    //
-    // You can add your own constants.
-    //
-    // Author: M.Maire
-    //
-    // History:
-    //
-    // 23.02.96 Created
-    // 26.03.96 Added constants for standard conditions of temperature
-    //          and pressure; also added Gas threshold.
-    // 29.04.08   use PDG 2006 values
-    // 03.11.08   use PDG 2008 values
-
-    static const double pi = 3.14159265358979323846;
-    static const double twopi = 2 * pi;
-    static const double halfpi = pi / 2;
-    static const double pi2 = pi * pi;
-
-    //
-    //
-    //
-    static const double Avogadro = 6.02214179e+23 / mole;
-
-    //
-    // c   = 299.792458 mm/ns
-    // c^2 = 898.7404 (mm/ns)^2
-    //
-    static const double c_light = 2.99792458e+8 * m / s;
-    static const double c_squared = c_light * c_light;
-
-    //
-    // h     = 4.13566e-12 MeV*ns
-    // hbar  = 6.58212e-13 MeV*ns
-    // hbarc = 197.32705e-12 MeV*mm
-    //
-    static const double h_Planck = 6.62606896e-34 * joule * s;
-    static const double hbar_Planck = h_Planck / twopi;
-    static const double hbarc = hbar_Planck * c_light;
-    static const double hbarc_squared = hbarc * hbarc;
-
-    //
-    //
-    //
-    static const double electron_charge = -eplus;   // see SystemOfUnits.h
-    static const double e_squared = eplus * eplus;
-
-    //
-    // amu_c2 - atomic equivalent mass unit
-    //        - AKA, unified atomic mass unit (u)
-    // amu    - atomic mass unit
-    //
-    static const double electron_mass_c2 = 0.510998910 * MeV;
-    static const double proton_mass_c2 = 938.272013 * MeV;
-    static const double neutron_mass_c2 = 939.56536 * MeV;
-    static const double amu_c2 = 931.494028 * MeV;
-    static const double amu = amu_c2 / c_squared;
-
-    //
-    // permeability of free space mu0    = 2.01334e-16 Mev*(ns*eplus)^2/mm
-    // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
-    //
-    static const double mu0 = 4 * pi * 1.e-7 * henry / m;
-    static const double epsilon0 = 1. / (c_squared * mu0);
-
-    //
-    // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
-    //
-    static const double elm_coupling = e_squared / (4 * pi * epsilon0);
-    static const double fine_structure_const = elm_coupling / hbarc;
-    static const double classic_electr_radius = elm_coupling / electron_mass_c2;
-    static const double electron_Compton_length = hbarc / electron_mass_c2;
-    static const double Bohr_radius = electron_Compton_length / fine_structure_const;
-
-    static const double alpha_rcl2 = fine_structure_const * classic_electr_radius * classic_electr_radius;
-
-    static const double twopi_mc2_rcl2 = twopi * electron_mass_c2 * classic_electr_radius * classic_electr_radius;
-    //
-    //
-    //
-    static const double k_Boltzmann = 8.617343e-11 * MeV / kelvin;
-
-    //
-    //
-    //
-    static const double STP_Temperature = 273.15 * kelvin;
-    static const double STP_Pressure = 1. * atmosphere;
-    static const double kGasThreshold = 10. * mg / cm3;
-
-    //
-    //
-    //
-    static const double universe_mean_density = 1.e-25 * g / cm3;
-  //}
-}
-#endif /* DD4HEP_TGEOUNITS_H */
+#include "DDParsers/DD4hepUnits.h"
diff --git a/DDCore/include/DD4hep/Dictionary.h b/DDCore/include/DD4hep/Dictionary.h
index 10e2c28d1dcac7c8724d954c080346003765ef9b..3d23b48c8d9f052680c63cdf63d67c5af7eac053 100644
--- a/DDCore/include/DD4hep/Dictionary.h
+++ b/DDCore/include/DD4hep/Dictionary.h
@@ -26,7 +26,7 @@
 #endif
 
 // Framework include files
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
 #include "DD4hep/DD4hepRootPersistency.h"
 #include "DD4hep/detail/ObjectsInterna.h"
 #include "DD4hep/detail/DetectorInterna.h"
diff --git a/DDCore/include/DD4hep/detail/BasicGrammar_inl.h b/DDCore/include/DD4hep/detail/BasicGrammar_inl.h
index c725280365bdddb0cadf9497c45c43cc96c2b28f..1cbfc950a0880878707b29923f5347e0c154f8fa 100644
--- a/DDCore/include/DD4hep/detail/BasicGrammar_inl.h
+++ b/DDCore/include/DD4hep/detail/BasicGrammar_inl.h
@@ -35,9 +35,9 @@
 
 #else
 
-#include "XML/Evaluator.h"
-#include "DD4hep/Parsers.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/Parsers.h"
+#include "DDParsers/ToStream.h"
+#include "DDParsers/Evaluator.h"
 namespace dd4hep { XmlTools::Evaluator& g4Evaluator();  }
 #endif
 #endif
diff --git a/DDCore/include/JSON/Evaluator.h b/DDCore/include/JSON/Evaluator.h
index c601fb9b3457276d1b662586c7a2c2b0b05a4c34..4c3f199154689262b43e45de5b536334c7d74c0e 100644
--- a/DDCore/include/JSON/Evaluator.h
+++ b/DDCore/include/JSON/Evaluator.h
@@ -19,6 +19,6 @@
  *
  *  See the externalized header in doc/externalize for details.
  */
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
 
 #endif   /* DD4HEP_DDCORE_JSON_EVALUATOR_H  */
diff --git a/DDCore/src/AlignmentData.cpp b/DDCore/src/AlignmentData.cpp
index 7fa9552a95bfb89298391767faaf1c682f675799..40349994b2a5562c535d6aef65a166f34fee47f7 100644
--- a/DDCore/src/AlignmentData.cpp
+++ b/DDCore/src/AlignmentData.cpp
@@ -201,8 +201,8 @@ Alignment AlignmentData::nominal() const   {
   return detector.nominal();
 }
 
-#include "DD4hep/Parsers.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/Parsers.h"
+#include "DDParsers/ToStream.h"
 DD4HEP_DEFINE_PARSER_DUMMY(Delta)
 DD4HEP_DEFINE_PARSER_DUMMY(AlignmentData)
 
diff --git a/DDCore/src/AlignmentsPrinter.cpp b/DDCore/src/AlignmentsPrinter.cpp
index b48a05a73c2714092d1cd0f480794f4f0aa7e25f..23e95fba841baca792aff6bfd20bb6c63c0ace10 100644
--- a/DDCore/src/AlignmentsPrinter.cpp
+++ b/DDCore/src/AlignmentsPrinter.cpp
@@ -20,7 +20,7 @@
 // C/C++ include files
 #include <sstream>
 #include "TClass.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/ToStream.h"
 
 using namespace std;
 using namespace dd4hep;
diff --git a/DDCore/src/ConditionsData.cpp b/DDCore/src/ConditionsData.cpp
index 6d67e4b11649236898a671ca2f44e72f397d6d55..9e5bba897d121c0bb025ad037ec06e6b0add4bff 100644
--- a/DDCore/src/ConditionsData.cpp
+++ b/DDCore/src/ConditionsData.cpp
@@ -77,8 +77,8 @@ AbstractMap& AbstractMap::operator=(const AbstractMap& c)  {
   return *this;
 }
 
-#include "DD4hep/Parsers.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/Parsers.h"
+#include "DDParsers/ToStream.h"
 DD4HEP_DEFINE_PARSER_DUMMY(AbstractMap)
 #include "DD4hep/detail/BasicGrammar_inl.h"
 #include "DD4hep/detail/ConditionsInterna.h"
diff --git a/DDCore/src/ConditionsPrinter.cpp b/DDCore/src/ConditionsPrinter.cpp
index aac0c2eb0e7908b051ecc6663bb2254761240b58..4b51672c8983d9b0f6fbe4cb3737acaa903e40c6 100644
--- a/DDCore/src/ConditionsPrinter.cpp
+++ b/DDCore/src/ConditionsPrinter.cpp
@@ -12,7 +12,7 @@
 //==========================================================================
 
 // Framework includes
-#include "DD4hep/ToStream.h"
+#include "DDParsers/ToStream.h"
 #include "DD4hep/Printout.h"
 #include "DD4hep/ConditionsData.h"
 #include "DD4hep/ConditionsPrinter.h"
diff --git a/DDCore/src/Handle.cpp b/DDCore/src/Handle.cpp
index 8615454ebf56b7acefe4132a3f4b94c837e9373e..8ec02f38854e63389731489f2b9a3f17443efb18 100644
--- a/DDCore/src/Handle.cpp
+++ b/DDCore/src/Handle.cpp
@@ -14,7 +14,7 @@
 #include "DD4hep/InstanceCount.h"
 #include "DD4hep/Printout.h"
 #include "DD4hep/detail/Handle.inl"
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
 #include <iostream>
 #include <iomanip>
 #include <climits>
diff --git a/DDCore/src/XML/XMLElements.cpp b/DDCore/src/XML/XMLElements.cpp
index 4d00724f0b0274b5f79d5c275740ad2ab1736047..3e8e66326c3bd8a4a680f08cc88a8ada310a9b7a 100644
--- a/DDCore/src/XML/XMLElements.cpp
+++ b/DDCore/src/XML/XMLElements.cpp
@@ -12,9 +12,9 @@
 //==========================================================================
 
 // Framework include files
-#include "XML/Printout.h"
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
 #include "XML/XMLElements.h"
+#include "XML/Printout.h"
 #include "XML/XMLTags.h"
 
 // C/C++ include files
diff --git a/DDG4/include/DDG4/Geant4InputAction.h b/DDG4/include/DDG4/Geant4InputAction.h
index 7b0c50a3c7a08efc9b8411a76653ebe491fbc050..1125ed15025b3bb7bb68d3124f0373231a3a52b7 100644
--- a/DDG4/include/DDG4/Geant4InputAction.h
+++ b/DDG4/include/DDG4/Geant4InputAction.h
@@ -18,7 +18,7 @@
 #include "DDG4/Geant4Vertex.h"
 #include "DDG4/Geant4Particle.h"
 #include "DDG4/Geant4GeneratorAction.h"
-#include "DD4hep/Parsers.h"
+#include "DDParsers/Parsers.h"
 
 // C/C++ include files
 #include <vector>
diff --git a/DDParsers/CMakeLists.txt b/DDParsers/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..61ae41cafa52f3009209ce7a2f9b089116154fea
--- /dev/null
+++ b/DDParsers/CMakeLists.txt
@@ -0,0 +1,22 @@
+#=================================================================================
+#
+#  AIDA Detector description implementation 
+#---------------------------------------------------------------------------------
+# Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
+# All rights reserved.
+#
+# For the licensing terms see $DD4hepINSTALL/LICENSE.
+# For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
+#
+#=================================================================================
+dd4hep_package(    DDParsers
+  USES             [ROOT REQUIRED COMPONENTS Geom GenVector]
+  INCLUDE_DIRS     include
+  INSTALL_INCLUDES include/DDParsers )
+
+dd4hep_add_package_library ( DDParsers
+  INCLUDE_DIRS
+  LINK_LIBRARIES
+  SOURCES        src/*.cpp src/Evaluator/*.cpp 
+  OPTIONAL       [BOOST SOURCES src/parsers/*.cpp]
+  )
diff --git a/DDParsers/include/DDParsers/DD4hepUnits.h b/DDParsers/include/DDParsers/DD4hepUnits.h
new file mode 100644
index 0000000000000000000000000000000000000000..f3f10c35b57cdbbb1040c43821291d301f7572cf
--- /dev/null
+++ b/DDParsers/include/DDParsers/DD4hepUnits.h
@@ -0,0 +1,395 @@
+//==========================================================================
+//  AIDA Detector description implementation 
+//--------------------------------------------------------------------------
+// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
+// All rights reserved.
+//
+// For the licensing terms see $DD4hepINSTALL/LICENSE.
+// For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
+//
+// Author     : M.Frank
+//
+//==========================================================================
+
+//
+// System of Units for dd4hep - similar to Geant3 and TGeo/ROOT
+//
+// Taken from CLHEP with the following basic translations:
+//
+// Geant4                                   dd4hep
+// ----------------------------------------------------------------
+// millimeter         mm=1,cm=10            centimeter  mm=0.1,cm=1
+// nanosecond         s=1e9                 second      ns=1e-9,s=1
+// Mega electron Volt GeV=1e3               GeV         GeV=1
+// radian             rad=1                 rad = 1  //NB: different from TGeo
+//
+//
+#ifndef DD4HEP_TGEOUNITS_H
+#define DD4HEP_TGEOUNITS_H
+
+/// Utility namespace to support TGeo units.
+namespace dd4hep {
+
+  //namespace units  {
+    //
+    // Length [L]
+    //
+    static const double millimeter = 0.1;
+    static const double millimeter2 = millimeter * millimeter;
+    static const double millimeter3 = millimeter * millimeter * millimeter;
+
+    static const double centimeter = 10. * millimeter;
+    static const double centimeter2 = centimeter * centimeter;
+    static const double centimeter3 = centimeter * centimeter * centimeter;
+
+    static const double meter = 1000. * millimeter;
+    static const double meter2 = meter * meter;
+    static const double meter3 = meter * meter * meter;
+
+    static const double kilometer = 1000. * meter;
+    static const double kilometer2 = kilometer * kilometer;
+    static const double kilometer3 = kilometer * kilometer * kilometer;
+
+    static const double parsec = 3.0856775807e+16 * meter;
+
+    static const double micrometer = 1.e-6 * meter;
+    static const double nanometer = 1.e-9 * meter;
+    static const double angstrom = 1.e-10 * meter;
+    static const double fermi = 1.e-15 * meter;
+
+    static const double barn = 1.e-28 * meter2;
+    static const double millibarn = 1.e-3 * barn;
+    static const double microbarn = 1.e-6 * barn;
+    static const double nanobarn = 1.e-9 * barn;
+    static const double picobarn = 1.e-12 * barn;
+
+    // symbols
+    static const double nm = nanometer;
+    static const double um = micrometer;
+
+    static const double mm = millimeter;
+    static const double mm2 = millimeter2;
+    static const double mm3 = millimeter3;
+
+    static const double cm = centimeter;
+    static const double cm2 = centimeter2;
+    static const double cm3 = centimeter3;
+
+    static const double m = meter;
+    static const double m2 = meter2;
+    static const double m3 = meter3;
+
+    static const double km = kilometer;
+    static const double km2 = kilometer2;
+    static const double km3 = kilometer3;
+
+    static const double pc = parsec;
+
+    //
+    // Angle
+    //
+    // static const double radian = 180. / 3.14159265358979323846;   // => degree=1
+    // static const double milliradian = 1.e-3 * radian;
+    // static const double degree = 1.;   //= (3.14159265358979323846/180.0)*radian;
+
+    //fg: use radians as default unit as this is needed for all math functions
+    //    and everywhere else, except in TGeo shapes -> this is taken care of in shape Handles ....
+    static const double radian = 1. ;
+    static const double milliradian = 1.e-3 * radian;
+    static const double degree = (3.14159265358979323846/180.0)*radian;
+
+    static const double steradian = 1.;
+
+    // symbols
+    static const double rad = radian;
+    static const double mrad = milliradian;
+    static const double sr = steradian;
+    static const double deg = degree;
+
+    //
+    // Time [T]
+    //
+    static const double nanosecond = 1.e-9;
+    static const double second = 1.e+9 * nanosecond;
+    static const double millisecond = 1.e-3 * second;
+    static const double microsecond = 1.e-6 * second;
+    static const double picosecond = 1.e-12 * second;
+
+    static const double hertz = 1. / second;
+    static const double kilohertz = 1.e+3 * hertz;
+    static const double megahertz = 1.e+6 * hertz;
+
+    // symbols
+    static const double ns = nanosecond;
+    static const double s = second;
+    static const double ms = millisecond;
+
+    //
+    // Electric charge [Q]
+    //
+    static const double eplus = 1.;   // positron charge
+    static const double e_SI = 1.602176487e-19;   // positron charge in coulomb
+    static const double coulomb = eplus / e_SI;   // coulomb = 6.24150 e+18 * eplus
+
+    //
+    // Energy [E]
+    //
+    static const double megaelectronvolt = 1.e-3;
+    static const double electronvolt = 1.e-6 * megaelectronvolt;
+    static const double kiloelectronvolt = 1.e-3 * megaelectronvolt;
+    static const double gigaelectronvolt = 1.e+3 * megaelectronvolt;
+    static const double teraelectronvolt = 1.e+6 * megaelectronvolt;
+    static const double petaelectronvolt = 1.e+9 * megaelectronvolt;
+
+    static const double joule = electronvolt / e_SI;   // joule = 6.24150 e+12 * MeV
+
+    // symbols
+    static const double MeV = megaelectronvolt;
+    static const double eV = electronvolt;
+    static const double keV = kiloelectronvolt;
+    static const double GeV = gigaelectronvolt;
+    static const double TeV = teraelectronvolt;
+    static const double PeV = petaelectronvolt;
+
+    //
+    // Mass [E][T^2][L^-2]
+    //
+    static const double kilogram = joule * second * second / (meter * meter);
+    static const double gram = 1.e-3 * kilogram;
+    static const double milligram = 1.e-3 * gram;
+
+    // symbols
+    static const double kg = kilogram;
+    static const double g = gram;
+    static const double mg = milligram;
+
+    //
+    // Power [E][T^-1]
+    //
+    static const double watt = joule / second;   // watt = 6.24150 e+3 * MeV/ns
+
+    //
+    // Force [E][L^-1]
+    //
+    static const double newton = joule / meter;   // newton = 6.24150 e+9 * MeV/mm
+
+    //
+    // Pressure [E][L^-3]
+    //
+#define pascal hep_pascal                          // a trick to avoid warnings
+    static const double hep_pascal = newton / m2;   // pascal = 6.24150 e+3 * MeV/mm3
+    static const double bar = 100000 * pascal;   // bar    = 6.24150 e+8 * MeV/mm3
+    static const double atmosphere = 101325 * pascal;   // atm    = 6.32420 e+8 * MeV/mm3
+
+    //
+    // Electric current [Q][T^-1]
+    //
+    static const double ampere = coulomb / second;   // ampere = 6.24150 e+9 * eplus/ns
+    static const double milliampere = 1.e-3 * ampere;
+    static const double microampere = 1.e-6 * ampere;
+    static const double nanoampere = 1.e-9 * ampere;
+
+    //
+    // Electric potential [E][Q^-1]
+    //
+    static const double megavolt = megaelectronvolt / eplus;
+    static const double kilovolt = 1.e-3 * megavolt;
+    static const double volt = 1.e-6 * megavolt;
+
+    //
+    // Electric resistance [E][T][Q^-2]
+    //
+    static const double ohm = volt / ampere;   // ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns)
+
+    //
+    // Electric capacitance [Q^2][E^-1]
+    //
+    static const double farad = coulomb / volt;   // farad = 6.24150e+24 * eplus/Megavolt
+    static const double millifarad = 1.e-3 * farad;
+    static const double microfarad = 1.e-6 * farad;
+    static const double nanofarad = 1.e-9 * farad;
+    static const double picofarad = 1.e-12 * farad;
+
+    //
+    // Magnetic Flux [T][E][Q^-1]
+    //
+    static const double weber = volt * second;   // weber = 1000*megavolt*ns
+
+    //
+    // Magnetic Field [T][E][Q^-1][L^-2]
+    //
+    static const double tesla = volt * second / meter2;   // tesla =0.001*megavolt*ns/mm2
+
+    static const double gauss = 1.e-4 * tesla;
+    static const double kilogauss = 1.e-1 * tesla;
+
+    //
+    // Inductance [T^2][E][Q^-2]
+    //
+    static const double henry = weber / ampere;   // henry = 1.60217e-7*MeV*(ns/eplus)**2
+
+    //
+    // Temperature
+    //
+    static const double kelvin = 1.;
+
+    //
+    // Amount of substance
+    //
+    static const double mole = 1.;
+
+    //
+    // Activity [T^-1]
+    //
+    static const double becquerel = 1. / second;
+    static const double curie = 3.7e+10 * becquerel;
+
+    //
+    // Absorbed dose [L^2][T^-2]
+    //
+    static const double gray = joule / kilogram;
+    static const double kilogray = 1.e+3 * gray;
+    static const double milligray = 1.e-3 * gray;
+    static const double microgray = 1.e-6 * gray;
+
+    //
+    // Luminous intensity [I]
+    //
+    static const double candela = 1.;
+
+    //
+    // Luminous flux [I]
+    //
+    static const double lumen = candela * steradian;
+
+    //
+    // Illuminance [I][L^-2]
+    //
+    static const double lux = lumen / meter2;
+
+    //
+    // Miscellaneous
+    //
+    static const double perCent = 0.01;
+    static const double perThousand = 0.001;
+    static const double perMillion = 0.000001;
+
+    // -*- C++ -*-
+    // ----------------------------------------------------------------------
+    // HEP coherent Physical Constants
+    //
+    // This file has been provided by Geant4 (simulation toolkit for HEP).
+    //
+    // The basic units are :
+    //            millimeter
+    //            nanosecond
+    //            Mega electron Volt
+    //            positon charge
+    //            degree Kelvin
+    //              amount of substance (mole)
+    //              luminous intensity (candela)
+    //            radian
+    //              steradian
+    //
+    // Below is a non exhaustive list of Physical CONSTANTS,
+    // computed in the Internal HEP System Of Units.
+    //
+    // Most of them are extracted from the Particle Data Book :
+    //        Phys. Rev. D  volume 50 3-1 (1994) page 1233
+    //
+    //        ...with a meaningful (?) name ...
+    //
+    // You can add your own constants.
+    //
+    // Author: M.Maire
+    //
+    // History:
+    //
+    // 23.02.96 Created
+    // 26.03.96 Added constants for standard conditions of temperature
+    //          and pressure; also added Gas threshold.
+    // 29.04.08   use PDG 2006 values
+    // 03.11.08   use PDG 2008 values
+
+    static const double pi = 3.14159265358979323846;
+    static const double twopi = 2 * pi;
+    static const double halfpi = pi / 2;
+    static const double pi2 = pi * pi;
+
+    //
+    //
+    //
+    static const double Avogadro = 6.02214179e+23 / mole;
+
+    //
+    // c   = 299.792458 mm/ns
+    // c^2 = 898.7404 (mm/ns)^2
+    //
+    static const double c_light = 2.99792458e+8 * m / s;
+    static const double c_squared = c_light * c_light;
+
+    //
+    // h     = 4.13566e-12 MeV*ns
+    // hbar  = 6.58212e-13 MeV*ns
+    // hbarc = 197.32705e-12 MeV*mm
+    //
+    static const double h_Planck = 6.62606896e-34 * joule * s;
+    static const double hbar_Planck = h_Planck / twopi;
+    static const double hbarc = hbar_Planck * c_light;
+    static const double hbarc_squared = hbarc * hbarc;
+
+    //
+    //
+    //
+    static const double electron_charge = -eplus;   // see SystemOfUnits.h
+    static const double e_squared = eplus * eplus;
+
+    //
+    // amu_c2 - atomic equivalent mass unit
+    //        - AKA, unified atomic mass unit (u)
+    // amu    - atomic mass unit
+    //
+    static const double electron_mass_c2 = 0.510998910 * MeV;
+    static const double proton_mass_c2 = 938.272013 * MeV;
+    static const double neutron_mass_c2 = 939.56536 * MeV;
+    static const double amu_c2 = 931.494028 * MeV;
+    static const double amu = amu_c2 / c_squared;
+
+    //
+    // permeability of free space mu0    = 2.01334e-16 Mev*(ns*eplus)^2/mm
+    // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
+    //
+    static const double mu0 = 4 * pi * 1.e-7 * henry / m;
+    static const double epsilon0 = 1. / (c_squared * mu0);
+
+    //
+    // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
+    //
+    static const double elm_coupling = e_squared / (4 * pi * epsilon0);
+    static const double fine_structure_const = elm_coupling / hbarc;
+    static const double classic_electr_radius = elm_coupling / electron_mass_c2;
+    static const double electron_Compton_length = hbarc / electron_mass_c2;
+    static const double Bohr_radius = electron_Compton_length / fine_structure_const;
+
+    static const double alpha_rcl2 = fine_structure_const * classic_electr_radius * classic_electr_radius;
+
+    static const double twopi_mc2_rcl2 = twopi * electron_mass_c2 * classic_electr_radius * classic_electr_radius;
+    //
+    //
+    //
+    static const double k_Boltzmann = 8.617343e-11 * MeV / kelvin;
+
+    //
+    //
+    //
+    static const double STP_Temperature = 273.15 * kelvin;
+    static const double STP_Pressure = 1. * atmosphere;
+    static const double kGasThreshold = 10. * mg / cm3;
+
+    //
+    //
+    //
+    static const double universe_mean_density = 1.e-25 * g / cm3;
+  //}
+}
+#endif /* DD4HEP_TGEOUNITS_H */
diff --git a/DDCore/include/XML/Evaluator.h b/DDParsers/include/DDParsers/Evaluator.h
similarity index 100%
rename from DDCore/include/XML/Evaluator.h
rename to DDParsers/include/DDParsers/Evaluator.h
diff --git a/DDCore/include/DD4hep/Parsers.h b/DDParsers/include/DDParsers/Parsers.h
similarity index 100%
rename from DDCore/include/DD4hep/Parsers.h
rename to DDParsers/include/DDParsers/Parsers.h
diff --git a/DDCore/include/DD4hep/ToStream.h b/DDParsers/include/DDParsers/ToStream.h
similarity index 100%
rename from DDCore/include/DD4hep/ToStream.h
rename to DDParsers/include/DDParsers/ToStream.h
diff --git a/DDCore/src/Evaluator/Evaluator.cpp b/DDParsers/src/Evaluator/Evaluator.cpp
similarity index 99%
rename from DDCore/src/Evaluator/Evaluator.cpp
rename to DDParsers/src/Evaluator/Evaluator.cpp
index 62c7c292b2f759a28d3df97c001b480d48bcef04..831d088efce78000458a4bdee500df7f7012d42a 100644
--- a/DDCore/src/Evaluator/Evaluator.cpp
+++ b/DDParsers/src/Evaluator/Evaluator.cpp
@@ -1,7 +1,7 @@
 // -*- C++ -*-
 // ---------------------------------------------------------------------------
 
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
 
 #include <iostream>
 #include <cmath>        // for pow()
diff --git a/DDCore/src/Evaluator/ExpressionEvaluator.cpp b/DDParsers/src/Evaluator/ExpressionEvaluator.cpp
similarity index 97%
rename from DDCore/src/Evaluator/ExpressionEvaluator.cpp
rename to DDParsers/src/Evaluator/ExpressionEvaluator.cpp
index 392f42f18dc6570dfce83035eb56221b2bc3fa1a..c347791accf165588ce464332f3e93164f01923f 100644
--- a/DDCore/src/Evaluator/ExpressionEvaluator.cpp
+++ b/DDParsers/src/Evaluator/ExpressionEvaluator.cpp
@@ -11,8 +11,8 @@
 //
 //==========================================================================
 
-#include "XML/Evaluator.h"
-#include "DD4hep/DD4hepUnits.h"
+#include "DDParsers/Evaluator.h"
+#include "DDParsers/DD4hepUnits.h"
 namespace units = dd4hep;
 
 namespace {
diff --git a/DDCore/src/Evaluator/hash_map.src b/DDParsers/src/Evaluator/hash_map.src
similarity index 100%
rename from DDCore/src/Evaluator/hash_map.src
rename to DDParsers/src/Evaluator/hash_map.src
diff --git a/DDCore/src/Evaluator/setStdMath.cpp b/DDParsers/src/Evaluator/setStdMath.cpp
similarity index 98%
rename from DDCore/src/Evaluator/setStdMath.cpp
rename to DDParsers/src/Evaluator/setStdMath.cpp
index 674f2a41460057f1d8a6694da2b01a421ed14622..be047e266f1f1962e02ef26f0089bdb2d378ee9a 100644
--- a/DDCore/src/Evaluator/setStdMath.cpp
+++ b/DDParsers/src/Evaluator/setStdMath.cpp
@@ -1,7 +1,7 @@
 // -*- C++ -*-
 // ----------------------------------------------------------------------
 
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
 
 #ifdef DD4HEP_NONE
 /// Utility namespace to support TGeo units.
@@ -12,7 +12,7 @@ namespace dd4hep {
   //}
 }
 #else
-#include "DD4hep/DD4hepUnits.h"
+#include "DDParsers/DD4hepUnits.h"
 #endif
 namespace units = dd4hep;
 
diff --git a/DDCore/src/Evaluator/setSystemOfUnits.cpp b/DDParsers/src/Evaluator/setSystemOfUnits.cpp
similarity index 99%
rename from DDCore/src/Evaluator/setSystemOfUnits.cpp
rename to DDParsers/src/Evaluator/setSystemOfUnits.cpp
index f53cdd461824c83f3ac8fca7f05de0223303c310..c6156acc9a50648928f0e513e04b18e2ac01dd04 100644
--- a/DDCore/src/Evaluator/setSystemOfUnits.cpp
+++ b/DDParsers/src/Evaluator/setSystemOfUnits.cpp
@@ -1,7 +1,7 @@
 // -*- C++ -*-
 // ----------------------------------------------------------------------
 
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
 
 namespace XmlTools {
 
diff --git a/DDCore/src/Evaluator/stack.src b/DDParsers/src/Evaluator/stack.src
similarity index 100%
rename from DDCore/src/Evaluator/stack.src
rename to DDParsers/src/Evaluator/stack.src
diff --git a/DDCore/src/Evaluator/string.src b/DDParsers/src/Evaluator/string.src
similarity index 100%
rename from DDCore/src/Evaluator/string.src
rename to DDParsers/src/Evaluator/string.src
diff --git a/DDCore/src/ToStream.cpp b/DDParsers/src/ToStream.cpp
similarity index 98%
rename from DDCore/src/ToStream.cpp
rename to DDParsers/src/ToStream.cpp
index e74e4b0b0e05c81eb1f40597596962c04276c672..0bdaf3a34f3685673fcd9c8e7c55d1d7c2835d0d 100644
--- a/DDCore/src/ToStream.cpp
+++ b/DDParsers/src/ToStream.cpp
@@ -22,12 +22,12 @@
 #else
 
 // Standard dd4hep parser handling
-#include "DD4hep/ToStream.h"
+#include "DDParsers/ToStream.h"
 
 #endif
 
-#ifndef DD4HEP_PARSERS_NO_ROOT
 
+#ifndef DD4HEP_PARSERS_NO_ROOT
 // ============================================================================
 // print XYZ-point
 std::ostream& dd4hep::Utils::toStream(const ROOT::Math::XYZPoint&  obj, std::ostream& s)  {
diff --git a/DDCore/src/parsers/Evaluators.cpp b/DDParsers/src/parsers/Evaluators.cpp
similarity index 96%
rename from DDCore/src/parsers/Evaluators.cpp
rename to DDParsers/src/parsers/Evaluators.cpp
index eef10dbcb1ee255605b560c45debf0e1f8a4a4be..c1009190248ec8eb1564d19819e1ed82c0875f5c 100644
--- a/DDCore/src/parsers/Evaluators.cpp
+++ b/DDParsers/src/parsers/Evaluators.cpp
@@ -22,10 +22,10 @@
 #else
 
 // Standard dd4hep parser handling
-#include "DD4hep/ToStream.h"
+#include "DDParsers/ToStream.h"
 
 #endif
-#include "XML/Evaluator.h"
+#include "DDParsers/Evaluator.h"
 
 // C/C++ include files
 #include <stdexcept>
diff --git a/DDCore/src/parsers/GrammarsV2.h b/DDParsers/src/parsers/GrammarsV2.h
similarity index 100%
rename from DDCore/src/parsers/GrammarsV2.h
rename to DDParsers/src/parsers/GrammarsV2.h
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_bool.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_double.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_float.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_int.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_long.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapint_string.cpp b/DDParsers/src/parsers/ParserStandardList_Mapint_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapint_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapint_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_bool.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_double.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_float.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_int.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_long.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapped_string.cpp b/DDParsers/src/parsers/ParserStandardList_Mapped_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapped_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapped_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_bool.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_double.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_float.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_int.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_long.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_Mapstring_string.cpp b/DDParsers/src/parsers/ParserStandardList_Mapstring_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_Mapstring_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_Mapstring_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_bool.cpp b/DDParsers/src/parsers/ParserStandardList_list_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_double.cpp b/DDParsers/src/parsers/ParserStandardList_list_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_float.cpp b/DDParsers/src/parsers/ParserStandardList_list_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_int.cpp b/DDParsers/src/parsers/ParserStandardList_list_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_long.cpp b/DDParsers/src/parsers/ParserStandardList_list_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_list_string.cpp b/DDParsers/src/parsers/ParserStandardList_list_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_list_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_list_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_bool.cpp b/DDParsers/src/parsers/ParserStandardList_set_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_double.cpp b/DDParsers/src/parsers/ParserStandardList_set_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_float.cpp b/DDParsers/src/parsers/ParserStandardList_set_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_int.cpp b/DDParsers/src/parsers/ParserStandardList_set_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_long.cpp b/DDParsers/src/parsers/ParserStandardList_set_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_set_string.cpp b/DDParsers/src/parsers/ParserStandardList_set_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_set_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_set_string.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_bool.cpp b/DDParsers/src/parsers/ParserStandardList_vector_bool.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_bool.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_bool.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_double.cpp b/DDParsers/src/parsers/ParserStandardList_vector_double.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_double.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_double.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_float.cpp b/DDParsers/src/parsers/ParserStandardList_vector_float.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_float.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_float.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_int.cpp b/DDParsers/src/parsers/ParserStandardList_vector_int.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_int.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_int.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_long.cpp b/DDParsers/src/parsers/ParserStandardList_vector_long.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_long.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_long.cpp
diff --git a/DDCore/src/parsers/ParserStandardList_vector_string.cpp b/DDParsers/src/parsers/ParserStandardList_vector_string.cpp
similarity index 100%
rename from DDCore/src/parsers/ParserStandardList_vector_string.cpp
rename to DDParsers/src/parsers/ParserStandardList_vector_string.cpp
diff --git a/DDCore/src/parsers/ParsersFactory.h b/DDParsers/src/parsers/ParsersFactory.h
similarity index 100%
rename from DDCore/src/parsers/ParsersFactory.h
rename to DDParsers/src/parsers/ParsersFactory.h
diff --git a/DDCore/src/parsers/ParsersObjects_PxPyPzEVector.cpp b/DDParsers/src/parsers/ParsersObjects_PxPyPzEVector.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersObjects_PxPyPzEVector.cpp
rename to DDParsers/src/parsers/ParsersObjects_PxPyPzEVector.cpp
diff --git a/DDCore/src/parsers/ParsersObjects_XYZPoint.cpp b/DDParsers/src/parsers/ParsersObjects_XYZPoint.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersObjects_XYZPoint.cpp
rename to DDParsers/src/parsers/ParsersObjects_XYZPoint.cpp
diff --git a/DDCore/src/parsers/ParsersObjects_XYZVector.cpp b/DDParsers/src/parsers/ParsersObjects_XYZVector.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersObjects_XYZVector.cpp
rename to DDParsers/src/parsers/ParsersObjects_XYZVector.cpp
diff --git a/DDCore/src/parsers/ParsersStandardListCommon.h b/DDParsers/src/parsers/ParsersStandardListCommon.h
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardListCommon.h
rename to DDParsers/src/parsers/ParsersStandardListCommon.h
diff --git a/DDCore/src/parsers/ParsersStandardMisc1.cpp b/DDParsers/src/parsers/ParsersStandardMisc1.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc1.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc1.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMisc2.cpp b/DDParsers/src/parsers/ParsersStandardMisc2.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc2.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc2.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMisc3.cpp b/DDParsers/src/parsers/ParsersStandardMisc3.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc3.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc3.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMisc4.cpp b/DDParsers/src/parsers/ParsersStandardMisc4.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc4.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc4.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMisc5.cpp b/DDParsers/src/parsers/ParsersStandardMisc5.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMisc5.cpp
rename to DDParsers/src/parsers/ParsersStandardMisc5.cpp
diff --git a/DDCore/src/parsers/ParsersStandardMiscCommon.h b/DDParsers/src/parsers/ParsersStandardMiscCommon.h
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardMiscCommon.h
rename to DDParsers/src/parsers/ParsersStandardMiscCommon.h
diff --git a/DDCore/src/parsers/ParsersStandardSingle.cpp b/DDParsers/src/parsers/ParsersStandardSingle.cpp
similarity index 100%
rename from DDCore/src/parsers/ParsersStandardSingle.cpp
rename to DDParsers/src/parsers/ParsersStandardSingle.cpp
diff --git a/DDCore/src/parsers/UsedParser.h b/DDParsers/src/parsers/UsedParser.h
similarity index 93%
rename from DDCore/src/parsers/UsedParser.h
rename to DDParsers/src/parsers/UsedParser.h
index 92ad04567963857eaf111c5a1d5d9f89bca62860..77b639d21dcb59ba30f8153713ad6d05dc4509e1 100644
--- a/DDCore/src/parsers/UsedParser.h
+++ b/DDParsers/src/parsers/UsedParser.h
@@ -20,8 +20,8 @@
 #else
 
 // Standard dd4hep parser handling
-#include "DD4hep/Parsers.h"
-#include "DD4hep/ToStream.h"
+#include "DDParsers/Parsers.h"
+#include "DDParsers/ToStream.h"
 
 #endif
 
diff --git a/examples/ClientTests/CMakeLists.txt b/examples/ClientTests/CMakeLists.txt
index 20390f871023169229d865534018cb4440c87170..1560460b077002770e9d4cf051f3e5fde30912c2 100644
--- a/examples/ClientTests/CMakeLists.txt
+++ b/examples/ClientTests/CMakeLists.txt
@@ -33,7 +33,7 @@ dd4hep_configure_scripts( ClientTests DEFAULT_SETUP WITH_TESTS)
 #  Test JSON based parser
 dd4hep_add_test_reg( ClientTests_MiniTel_JSON_Dump
   COMMAND    "${CMAKE_INSTALL_PREFIX}/bin/run_test_ClientTests.sh"
-  EXEC_ARGS  geoPluginRun -destroy -plugin dd4hep_JsonDumper
+  EXEC_ARGS  geoPluginRun -destroy -plugin DD4hep_JsonDumper
   ${CMAKE_CURRENT_SOURCE_DIR}/compact/MiniTel.json
   REGEX_PASS "Successfully dumped json input"
   REGEX_FAIL "Exception"