why do you need to do a deepcopy here?