copy_particles now returns the mapping