added dataset shuffle