added exception catcher when trying to read cookie rate, and added code that buys smaller items if the cost is recovered before saving up to buy larger item