Repository pattern implemented
-