bisecting dependency injection