better error handling in .makeOffer