Refactoring  init to injected as a boundary