refactoring
custom probability distribution