add repository interface