added checksum and comments