add several func to help update list from old record