#2: more tests
#2: xsl polished