added random number generator interface