redoing randomness section