Add smart auto-reconnecting