refactored recipe model to be more object oriented