a lot of documentation + changed behavior of DI