generated classes from the xsd for marshalling
corrected some typos
speccd out some methods for reading the xml - the marshalling approach is the one to go with but won't work till it's written into a plugin and compiled.