Adding smart shuffle