manual merge from LoadingPleaseWait fork