code: func NewAESEncrypter(key []byte, iv []byte) (*AESEncrypter, error) {
  	block, err := aes.NewCipher(key)
  	if err != nil {
  		return nil, err
  	}
  
  	e := AESEncrypter{
  		block:        block,
  		encryptionIV: iv,
  	}
  	return &e, nil
  }
docs: // NewAESEncrypter initialize a new AESEncrypter interfaced with Encrypter