added RandomGenerator