refactored generateMealPlan