correct timeout handling