py3 uses urllib.request