refactored activity service