return self if no path to root