add crc checking