add LZW algorithm