[WIP] applyOffer -> calculateOffer