refactored daily forecast service class