add auto-reconnect