refine linked_list