refactoring + dataloader progress