restructured ingredient class, added helper methods