refactor XmlClient to own file