implement parent, root and findParent()