Working on implementing DI, should be working OK