added repository interface