objectsTOxml using IXmlSerializable  reworked it so less changes need to be made to the language classes