rework compress/decompress