Repository pattern furter implemented