This code could be improvemed by 1) supporting more options, 2) Creating a shared crc table with gunzip, or perhaps generated on the fly. 3) Removing any remaining unneccessary code (e.g. if (noisy))