done with most of DI work