move data loading to own thread so GUI is more responsive