working on figuring out background data transfer