mapping needs deepcopy