refactored offers api service object