add pseudorandom support