add uniform distribution and using rand::Sample trait to draw random numbers