Not sure which type is better for dealing with data compression. For time being, `unsigned char` is being used, but this thing should pay attention to.