Repository pattern added