refactoried Service