Issue #101 initial move into dedicated XML module