Actual code for compression, last commit was just the tests.