Repository

Repository pattern added