add compression and decompression

add compression and decompression