added xsd validation