added base repository class