glue together everything with compress and decompress methods