added checksum
added test