based on r43857, xsd-330