refactoring recipe lookup, and adding uniqueness constraint to recipe slug