Should we also figure out that the old_size may be larger than the new_size?