why are both this and the `urlopen()` timeouts required?