refactored dish management to implement reusable code and classes