swap rng with haveged