checksum now fully working