utilize dependency injection better