Cleanup + DI implementation
DI implementation