Finished and fixed decompress()