split out crc code into it's own method

this seems to have caused an error though... not working at the
moment... looking into it...