compile data into a dictionary rather than printing

added detection of multiple item requirements, and dictionary has place for the number of items in recipie