added checksum to implementation