converted to xsl