writing deepcopy for possible ops