refactoring of DataLoader and DataSaver