Add dataloader protocol