code: func RetrieveIcon(destination, iconFile string) (int64, error) {
  	fullFilePath := fmt.Sprintf("%s/%s", destination, iconFile)
  
  	// Check to see if we've already gotten that icon file.  If so, use it
  	// rather than getting it again.
  	if _, err := os.Stat(fullFilePath); err != nil {
  		response, err := http.Get(fmt.Sprintf(iconURL, iconFile))
  		if err != nil {
  			return 0, err
  		}
  		defer response.Body.Close()
  
  		// Create the icon file
  		out, err := os.Create(fullFilePath)
  		if err != nil {
  			return 0, err
  		}
  		defer out.Close()
  
  		// Fill the empty file with the actual content
  		n, err := io.Copy(out, response.Body)
  		if err != nil {
  			return 0, err
  		}
  		return n, nil
  	}
  	return 0, nil
  }
docs: // RetrieveIcon will get the specified icon from the API.