more correct branches in runWhenReady, but whole thing is still fake, so whatever