fixed some reconnect handling with timeouts