public function get(
        string $remoteFile, string $localFile = null, int $mode = FTP_BINARY, int $attempts = 1,
        int $sleepBetweenAttempts = 5
    ) {
        if (!$localFile) {
            $localFile = $remoteFile;
        }

        if (!@ftp_get($this->ftp, $localFile, $remoteFile, $mode)) {
            if (--$attempts > 0) {
                sleep($sleepBetweenAttempts);

                return $this->get($remoteFile, $localFile, $mode, $attempts, $sleepBetweenAttempts);
            }

            throw new Exception(sprintf("Cannot copy file from %s to %s", $remoteFile, $localFile));
        }

        return $this;
    }