checking if offer exists before approval
refactoring - execution context moved to invoke params