fixed compare descendants;