fully working CRC