added deepcopy.