implemented crc checking on receive