controlled randomness