add get_middle_nodes()