done: restore server_list imp; todo:test