split out the new distribution functions into a separate file