A way to create a compounded CMS field with sub-fields

Hi, I am looking for a way to create a field that could house a number of other fields.

A simple example of this would be to have an “ingredients” list on a “recipe” item, where each “ingredient” would have two fields, one for the name of the ingredient and one for the amount.

A more complex example would be to for each ingredient to have an image as well.

Thanks