First implementation with working compression and decompression with tests