Implement descendant matching; try walking backwards