lots of work to genericize the cookbook