working towards injected dependencies