Exploring the LZ77 Algorithm