now using deepcopy