subsequently slows download speed. Other recent additions include: the ability to run eMule from a user account with limited privileges (thus enhancing security), and Intelligent Corruption Handling (so that a corrupted chunk does not need to be re-downloaded entirely). The 0.46b version added the creation and management of "eMule collection" files, which contain a set of links to files intended to be downloaded as a set. From 2007, many ISPs have used bandwidth throttling for usual P2P ports, resulting in slow performances. The 0.47b version adds protocol obfuscation and eMule will automatically select two port numbers at random in the startup wizard. Basic concepts Each file that is shared using eMule is hashed as a hash list comprising separate 9500 KiB chunks using the MD4 algorithm. The top-level MD4 hash, file size, filename, and several secondary search attributes such as bit rate and codec are stored on eD2k servers and the serverless Kad network. Users can search for filenames in the servers/kad and are presented with the filenames and the unique identifier consisting of the top-level MD4 hash for the file and the file's size that can be added to their downloads. The client then asks the servers where the other clients are using that hash. The servers return a set of IP/ports that indicate the locations of the clients that share the file. eMule then asks the peers for the file. eMule will then be queued until an upload slot becomes available. When a complete chunk of 9,728,000 bytes (9500 KiB) is downloaded and verified, this data is also shared by the downloader, helping others to download the file as well. It is also possible that a client knows other clients that are also sharing that same file. In that case a source exchange between the clients is made. This exchange of known peers is done directly between the peers. Newer versions of eMule support AICH (Advanced Intelligent Corruption Handling). It is meant to make eMule's corruption handling competitive with BitTorrent. SHA-1 hashes are computed for each 180 KiB sub-chunk and a whole SHA-1 hash tree is formed. AICH is processed purely with peer-to-peer source exchanges. eMule requires 10 agreeing peers regarding the SHA-1 hash, so rare files generally do not benefit from AICH. Low ID Users who cannot be reached from the outside because they are firewalled, behind a NAT device that has not been correctly port forwarded,