begin refactor: offers implemented as object
refactor offer to object and add offers as attributes to cart