added Ingredient struct