Fix swap data

Add unique identifier for each dataset.
there is a problem here no ? why call Data() ?