I improved the checksum function alot