Add DI. Need to refactor solution