refactored service implementations