refactoring service classes for circular dep