initial sha256 implementation.