ui redesign
perform data loading in background threads