use deepcopy
adding annotation