implement repo pattern + use ninject for DI