adding a DI framework
Reworking repositories in a very serious way.