add auto reconnect