additional refactoring of recipe