try a better reconnect