some bug-fixes
descendant-or-self