ProductDistribution implementation
working uniform class
working Uniform (lightly tested)
Merge branch 'uniform'