add XML parsing support