added shuffle