#42 refactor GaussianDistribution
#42 implement BernoulliDistribution