io.Reader parameter and return remote publicId