make a proper deepcopy() for State objects