refactored most code out of default recipe