added new internal function to handle theoretical distributions