adding crc16 algorithm.