deterministic random number generator.