handle reconnect a little more stabily