number generator interface