refactored dataloading to own service