* ancestor or self