Add offer implementation