updated with pareto