correct rule and override toString for EncryptedMessage