Ongoing work: fixed lots of stupid mistakes. Need to confirm CRC's