resolving circular dependencies issue in service