generate random numbers from uniform distribution