don't share RNGs across threads