- CRC16 implementation