Sha256

Merging sha-256 modifications to master.