added generic Repo