simplify thread-local rng