added retry on urlopen() and make it timeout