Re implement recipes as a struct