implemented offer methods