update list implemention