which can be used like: ``` // Cat is used to get cat an ipfs object func (im *IpfsManager) Cat(cid string) ([]byte, error) { var ( r io.ReadCloser err error ) r, err = im.shell.Cat(cid) if err != nil { return nil, err } defer r.Close() return ioutil.ReadAll(r) } ``` `im.shell` is `ipfsapi.Shell`, you can use it to get the bytes of the file and then in your use case write them to S3