Added offer class, tidy calculate discounts