refactored Books service and extracted model objects