Handling unexpected disconnects & trying to reconnect