Support for zip files can basically be split into two parts. 1 : Compression / decompression of data streams. 2 : Extraction of file information / archive manipulations (rename, delete, etc.) Basically, any half-decent programmer can solve part 2: On the other hand, compression/decompression is seriously deep stuff. What is really needed is code with a clean interface to perform compression and decompression. From there, wrappers to perform all the necessary manipulations can be written without any great difficulty. As I see it, the problem with the DLLs is that they do too much and the interface is overly complex. That said, I have a need for a purely Delphi minimal unzip solution and I'll be starting work on this tomorrow. So far as NanoZip is concerned, I have yet to form an opinion on its overall design, but if the author is agreeable, it could serve as the source for implementing a pure compression/decompression engine. A zip wrapper for such an engine would be very useful but the advantage of structuring things this way is that if someone wants to implement a new archive format (e.g. Z++) they should be able to do so without any great difficulty. Also, if someone needs to work with, say, memory streams they could ignore the zip wrapper and work purely with the compression/decompression engine. Surely, if major changes/new code is under discussion, this should be the direction we move in - ie create flexible and modular code. Well, that's my opinion - I'm sure that plenty will disagree. -- James Turner www.skaro.net