my own version of DI! yay!