Adding RandomGenerator
Adding interfaces
Adding test