storage data transfer refactor