added a bunch of xml reading