add auto-reconnect capability