added random number generators