input: first event, then randomness
fs: reduce get_random_bytes overhead