refactoring service incomplete
refactored service