add shuffle data function