use member initializer list
simplify Distributions