added dependencyinjection, added repository