adding Checksum validation
writing some tests...
commiting new changes