index tree, parent pointer,good