added urlopen timeout, defaults to 10s