why `$this->timeout` ?