Unfortunately, the copious free time I reserve for working without pay on the projects of others is currently occupied with an underwater basketweaving seminar.
But seriously, folks are much more likely to take you seriously if you show us what you've tried to do so far. Here are some hints:
Compress::* & Co.
That should get you started. Make even a rudimentary attempt, and all the monks here will be much more helpful. HTH.