Split calc_keep_distributions to keep metod complexity down