change the set_successor to add_successor