finished refactoring new recipe interface