with ability to create distributions