catch and retry timeouts