Oops! I do believe the OP wanted 1-15 not 0-14! Also there was a stipulation that the code be explained so that it could be understood and, more importantly, remembered. Would it kill you to descend to the level of normal human beings once in a while and make your code explicable? I'm sure that there are a lot of people here who will have no idea how or why OrderBy(Function(b) rng.NextDouble()) works.