context first implementation
compress/decompress works