change Date.now() into (new Date).getTime() since Date.now() not return a timestamp everywhere
running reconnect code inside a fiber. Otherwise retry code will have issues
version bumped