added shuffle routine