code: func ComputeHash(contents []byte, hash []byte) []byte {
  	newSlice := make([]byte, len(hash)+len(contents))
  
  	//copy the contents
  	copy(newSlice[0:len(contents)], contents[:])
  
  	//add the previous hash
  	copy(newSlice[len(contents):], hash[:])
  
  	//compute new hash
  	hash = util.ComputeSHA256(newSlice)
  
  	return hash
  }
docs: //ComputeHash computes contents hash based on previous hash