some minor changes to prevent downstream circular dependencies in IoC dependency injection