refactor recipe controllers