dealing with timeout