added crc check and update