https://stackoverflow.com/questions/36947107/difference-between-direct-and-indirect-crc