Fixed the return type of list_modify, changed to struct pointers, and added extern