There were originally a number of obstacles to the transfer of binary files over Usenet. Usenet was originally designed with the transmission of text in mind, and so the encoding of posts caused losses in binary data where the data was not part of the protocol's character set. Consequently, for a long while, it was impossible to send binary data as such. As workarounds, codecs such as Uuencode and later Base64 and yEnc were developed which encoded the binary data from the files to be transmitted (e.g. sound or video files) to text characters which would survive transmission over Usenet. At the receiver's end, the data needed to be decoded by the user's news client.