smarter response timeout handling