diff --git a/README.md b/README.md
index acbc52d0ebcc87a4a9cb6e280659d96235fb594c..54dcbc175594c4656fa66d449c06aab9c4987dec 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,4 @@ Please try to adhere to the [Github Swift Style Guide](https://github.com/github
 
 (If you want it super specific, there is also the very deep [Ray Wenderlich Guide](https://github.com/raywenderlich/swift-style-guide))
 
-You can use the [Swimat Plugin](https://github.com/Jintin/Swimat) to do parts of that automatically.
-
-## Links for conversion from Swift 2 to Swift 3
-- https://www.avanderlee.com/swift/swift-3-conversion-refactoring-project/
\ No newline at end of file
+You can use the [Swimat Plugin](https://github.com/Jintin/Swimat) to do parts of that automatically.
\ No newline at end of file
diff --git a/enzevalos_iphone.xcodeproj/project.pbxproj b/enzevalos_iphone.xcodeproj/project.pbxproj
index dc05be71a3bd3af4182e2b2f03af2707ed71d077..11e0be1c6d2d7681165e231234248c892f46e44c 100644
--- a/enzevalos_iphone.xcodeproj/project.pbxproj
+++ b/enzevalos_iphone.xcodeproj/project.pbxproj
@@ -92,8 +92,6 @@
 		A1C09FC61DF04D650006B783 /* alice2005-private.gpg in Resources */ = {isa = PBXBuildFile; fileRef = A1C09FC51DF04D650006B783 /* alice2005-private.gpg */; };
 		A1C3270E1DB907D900CE2ED5 /* TextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1C3270D1DB907D900CE2ED5 /* TextFormatter.swift */; };
 		A1C3DEEC1E0AB15300EB7D02 /* InitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A11E733B1E019AE3006574DD /* InitViewController.swift */; };
-		A1C7FF8F1E895367000D1E92 /* quizer1-public.asc in Resources */ = {isa = PBXBuildFile; fileRef = A1C7FF8E1E895367000D1E92 /* quizer1-public.asc */; };
-		A1C7FF911E8955BD000D1E92 /* quizer1-private.asc in Resources */ = {isa = PBXBuildFile; fileRef = A1C7FF901E8955BD000D1E92 /* quizer1-private.asc */; };
 		A1D5076F1E80257A00B68B38 /* KeyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1D5076E1E80257A00B68B38 /* KeyViewController.swift */; };
 		A1E81B671DCA296200535F98 /* UIViewResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1E81B661DCA296200535F98 /* UIViewResolver.swift */; };
 		A1EB057A1D956829008659C1 /* ContactCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1EB05791D956829008659C1 /* ContactCell.swift */; };
@@ -122,6 +120,12 @@
 		F12041FD1DA409A5002E4940 /* ListViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F12041FC1DA409A5002E4940 /* ListViewCell.swift */; };
 		F12060801DA540FE00F6EF37 /* RefreshControlExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F120607F1DA540FE00F6EF37 /* RefreshControlExtension.swift */; };
 		F12060821DA552FC00F6EF37 /* MailHandlerDelegator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F12060811DA552FC00F6EF37 /* MailHandlerDelegator.swift */; };
+		F14D189C1ED880680080515D /* nchr-private.gpg in Resources */ = {isa = PBXBuildFile; fileRef = F14D18981ED880680080515D /* nchr-private.gpg */; };
+		F14D189D1ED880680080515D /* nchr-public.gpg in Resources */ = {isa = PBXBuildFile; fileRef = F14D18991ED880680080515D /* nchr-public.gpg */; };
+		F14D189E1ED880680080515D /* ncpayroll-private.gpg in Resources */ = {isa = PBXBuildFile; fileRef = F14D189A1ED880680080515D /* ncpayroll-private.gpg */; };
+		F14D189F1ED880680080515D /* ncpayroll-public.gpg in Resources */ = {isa = PBXBuildFile; fileRef = F14D189B1ED880680080515D /* ncpayroll-public.gpg */; };
+		F14D18A21ED8811F0080515D /* ullimuelle-private.gpg in Resources */ = {isa = PBXBuildFile; fileRef = F14D18A01ED8811F0080515D /* ullimuelle-private.gpg */; };
+		F14D18A31ED8811F0080515D /* ullimuelle-public.gpg in Resources */ = {isa = PBXBuildFile; fileRef = F14D18A11ED8811F0080515D /* ullimuelle-public.gpg */; };
 		F189C17F1ED59FEF00BAE9B3 /* idsolutions-private.gpg in Resources */ = {isa = PBXBuildFile; fileRef = F189C17D1ED59FEF00BAE9B3 /* idsolutions-private.gpg */; };
 		F189C1801ED59FEF00BAE9B3 /* idsolutions-public.gpg in Resources */ = {isa = PBXBuildFile; fileRef = F189C17E1ED59FEF00BAE9B3 /* idsolutions-public.gpg */; };
 		F18B445E1E7044B70080C041 /* FlipTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F18B445D1E7044B70080C041 /* FlipTransition.swift */; };
@@ -277,19 +281,17 @@
 		A16BA2111E0439B6005E29E3 /* providers.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; lineEnding = 0; path = providers.json; sourceTree = "<group>"; };
 		A172F90C1E4CD37D00F2A136 /* PGPTemporaryDecryptionObject.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PGPTemporaryDecryptionObject.swift; sourceTree = "<group>"; };
 		A17A18F61DDCBE530058D934 /* PGPKeyWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PGPKeyWrapper.swift; sourceTree = "<group>"; };
-		A17A18F81DDCCF370058D934 /* JakobBode.asc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = JakobBode.asc; sourceTree = "<group>"; };
+		A17A18F81DDCCF370058D934 /* JakobBode.asc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = JakobBode.asc; path = keys/JakobBode.asc; sourceTree = "<group>"; };
 		A17BEB371E55E21700403EBE /* PGPTemporaryDecryptionObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PGPTemporaryDecryptionObject.h; sourceTree = "<group>"; };
 		A17BEB381E55E3DD00403EBE /* PGPTemporaryDecryptionObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PGPTemporaryDecryptionObject.m; sourceTree = "<group>"; };
 		A17C04831DC6504E00F66EDB /* LogHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LogHandler.swift; sourceTree = "<group>"; };
 		A198270D1D9A8ABC0027F65C /* enzevalos_iphone-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "enzevalos_iphone-Bridging-Header.h"; sourceTree = "<group>"; };
-		A19C12461DE602FF007F72E7 /* jabo.asc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = jabo.asc; sourceTree = "<group>"; };
-		A1B8C0191DD5D9B10044A358 /* alice2005-2.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "alice2005-2.gpg"; sourceTree = "<group>"; };
+		A19C12461DE602FF007F72E7 /* jabo.asc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = jabo.asc; path = keys/jabo.asc; sourceTree = "<group>"; };
+		A1B8C0191DD5D9B10044A358 /* alice2005-2.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "alice2005-2.gpg"; path = "keys/alice2005-2.gpg"; sourceTree = "<group>"; };
 		A1BE3FF71E9664660040114B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
 		A1BE3FF91E96646A0040114B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
-		A1C09FC51DF04D650006B783 /* alice2005-private.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "alice2005-private.gpg"; sourceTree = "<group>"; };
+		A1C09FC51DF04D650006B783 /* alice2005-private.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "alice2005-private.gpg"; path = "keys/alice2005-private.gpg"; sourceTree = "<group>"; };
 		A1C3270D1DB907D900CE2ED5 /* TextFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFormatter.swift; sourceTree = "<group>"; };
-		A1C7FF8E1E895367000D1E92 /* quizer1-public.asc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "quizer1-public.asc"; sourceTree = "<group>"; };
-		A1C7FF901E8955BD000D1E92 /* quizer1-private.asc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "quizer1-private.asc"; sourceTree = "<group>"; };
 		A1D5076E1E80257A00B68B38 /* KeyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyViewController.swift; sourceTree = "<group>"; };
 		A1E81B661DCA296200535F98 /* UIViewResolver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIViewResolver.swift; sourceTree = "<group>"; };
 		A1EB05791D956829008659C1 /* ContactCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactCell.swift; sourceTree = "<group>"; };
@@ -318,7 +320,7 @@
 		A1F9923A1DA7DD2E0073BF1B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/InboxTableViewCell.xib; sourceTree = "<group>"; };
 		A1F9923D1DA7DD350073BF1B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InboxTableViewCell.strings; sourceTree = "<group>"; };
 		A1F9923F1DA7DD370073BF1B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InboxTableViewCell.strings; sourceTree = "<group>"; };
-		A1FA3F6B1E78565B0093C0B6 /* alice2005-public.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "alice2005-public.gpg"; sourceTree = "<group>"; };
+		A1FA3F6B1E78565B0093C0B6 /* alice2005-public.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "alice2005-public.gpg"; path = "keys/alice2005-public.gpg"; sourceTree = "<group>"; };
 		AE7C40F081DAC9A0A130BE21 /* Pods-enzevalos_iphone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-enzevalos_iphone.debug.xcconfig"; path = "../workspace/Pods/Target Support Files/Pods-enzevalos_iphone/Pods-enzevalos_iphone.debug.xcconfig"; sourceTree = "<group>"; };
 		C7733DFEFB7E7CFF38EC1665 /* Pods-enzevalos_iphoneTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-enzevalos_iphoneTests.release.xcconfig"; path = "../workspace/Pods/Target Support Files/Pods-enzevalos_iphoneTests/Pods-enzevalos_iphoneTests.release.xcconfig"; sourceTree = "<group>"; };
 		C9B9CE43043CF806E1C02FCA /* Pods_enzevalos_iphoneTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_enzevalos_iphoneTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -327,8 +329,14 @@
 		F12041FC1DA409A5002E4940 /* ListViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListViewCell.swift; sourceTree = "<group>"; };
 		F120607F1DA540FE00F6EF37 /* RefreshControlExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshControlExtension.swift; sourceTree = "<group>"; };
 		F12060811DA552FC00F6EF37 /* MailHandlerDelegator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MailHandlerDelegator.swift; sourceTree = "<group>"; };
-		F189C17D1ED59FEF00BAE9B3 /* idsolutions-private.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "idsolutions-private.gpg"; sourceTree = "<group>"; };
-		F189C17E1ED59FEF00BAE9B3 /* idsolutions-public.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "idsolutions-public.gpg"; sourceTree = "<group>"; };
+		F14D18981ED880680080515D /* nchr-private.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "nchr-private.gpg"; path = "keys/nchr-private.gpg"; sourceTree = "<group>"; };
+		F14D18991ED880680080515D /* nchr-public.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "nchr-public.gpg"; path = "keys/nchr-public.gpg"; sourceTree = "<group>"; };
+		F14D189A1ED880680080515D /* ncpayroll-private.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "ncpayroll-private.gpg"; path = "keys/ncpayroll-private.gpg"; sourceTree = "<group>"; };
+		F14D189B1ED880680080515D /* ncpayroll-public.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "ncpayroll-public.gpg"; path = "keys/ncpayroll-public.gpg"; sourceTree = "<group>"; };
+		F14D18A01ED8811F0080515D /* ullimuelle-private.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "ullimuelle-private.gpg"; path = "keys/ullimuelle-private.gpg"; sourceTree = "<group>"; };
+		F14D18A11ED8811F0080515D /* ullimuelle-public.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "ullimuelle-public.gpg"; path = "keys/ullimuelle-public.gpg"; sourceTree = "<group>"; };
+		F189C17D1ED59FEF00BAE9B3 /* idsolutions-private.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "idsolutions-private.gpg"; path = "keys/idsolutions-private.gpg"; sourceTree = "<group>"; };
+		F189C17E1ED59FEF00BAE9B3 /* idsolutions-public.gpg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "idsolutions-public.gpg"; path = "keys/idsolutions-public.gpg"; sourceTree = "<group>"; };
 		F18B445D1E7044B70080C041 /* FlipTransition.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlipTransition.swift; sourceTree = "<group>"; };
 		F18B445F1E704C550080C041 /* ReplaceSegue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReplaceSegue.swift; sourceTree = "<group>"; };
 		F18B44611E73286C0080C041 /* ReadVENDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadVENDelegate.swift; sourceTree = "<group>"; };
@@ -628,15 +636,19 @@
 		A1C7FF8B1E895316000D1E92 /* keys */ = {
 			isa = PBXGroup;
 			children = (
+				F14D18981ED880680080515D /* nchr-private.gpg */,
+				F14D18991ED880680080515D /* nchr-public.gpg */,
+				F14D189A1ED880680080515D /* ncpayroll-private.gpg */,
+				F14D189B1ED880680080515D /* ncpayroll-public.gpg */,
 				F189C17D1ED59FEF00BAE9B3 /* idsolutions-private.gpg */,
 				F189C17E1ED59FEF00BAE9B3 /* idsolutions-public.gpg */,
+				F14D18A01ED8811F0080515D /* ullimuelle-private.gpg */,
+				F14D18A11ED8811F0080515D /* ullimuelle-public.gpg */,
 				A1FA3F6B1E78565B0093C0B6 /* alice2005-public.gpg */,
 				A1C09FC51DF04D650006B783 /* alice2005-private.gpg */,
 				A1B8C0191DD5D9B10044A358 /* alice2005-2.gpg */,
 				A17A18F81DDCCF370058D934 /* JakobBode.asc */,
 				A19C12461DE602FF007F72E7 /* jabo.asc */,
-				A1C7FF901E8955BD000D1E92 /* quizer1-private.asc */,
-				A1C7FF8E1E895367000D1E92 /* quizer1-public.asc */,
 			);
 			name = keys;
 			sourceTree = "<group>";
@@ -830,14 +842,18 @@
 				4761420A1E082F9C00FD5E4F /* Settings.bundle in Resources */,
 				A19C12471DE602FF007F72E7 /* jabo.asc in Resources */,
 				A16BA2121E0439B6005E29E3 /* providers.json in Resources */,
-				A1C7FF8F1E895367000D1E92 /* quizer1-public.asc in Resources */,
 				F189C17F1ED59FEF00BAE9B3 /* idsolutions-private.gpg in Resources */,
-				A1C7FF911E8955BD000D1E92 /* quizer1-private.asc in Resources */,
+				F14D189D1ED880680080515D /* nchr-public.gpg in Resources */,
+				F14D189C1ED880680080515D /* nchr-private.gpg in Resources */,
 				F189C1801ED59FEF00BAE9B3 /* idsolutions-public.gpg in Resources */,
+				F14D189E1ED880680080515D /* ncpayroll-private.gpg in Resources */,
 				A1123E6A1DA682850069551C /* Localizable.strings in Resources */,
 				A1F992291DA7C9100073BF1B /* Main.storyboard in Resources */,
+				F14D18A21ED8811F0080515D /* ullimuelle-private.gpg in Resources */,
+				F14D18A31ED8811F0080515D /* ullimuelle-public.gpg in Resources */,
 				A1BE3FF61E9664660040114B /* InfoPlist.strings in Resources */,
 				A17A18F91DDCCF370058D934 /* JakobBode.asc in Resources */,
+				F14D189F1ED880680080515D /* ncpayroll-public.gpg in Resources */,
 				A1C09FC61DF04D650006B783 /* alice2005-private.gpg in Resources */,
 				A13526861D955BDF00D3BFE1 /* LaunchScreen.storyboard in Resources */,
 				A1EB05A41D956E32008659C1 /* Assets.xcassets in Resources */,
diff --git a/enzevalos_iphone/AppDelegate.swift b/enzevalos_iphone/AppDelegate.swift
index deee525fdf4fb70d443106ac72f4472039a57d47..b47b9dc081a5f1b983c66cea6813ddab7fd8bc33 100644
--- a/enzevalos_iphone/AppDelegate.swift
+++ b/enzevalos_iphone/AppDelegate.swift
@@ -78,6 +78,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
             if reset == true{
                 var m = DataHandler.handler.countMails
                 print("Mails: \(m)")
+                let mailhandler = MailHandler.init()
+                mailhandler.moveMails(mails: DataHandler.handler.mails, from: "INBOX", to: "ARCHIVE")
                 DataHandler.handler.reset()
                 m = DataHandler.handler.countMails
                 print("Mails: \(m)")
diff --git a/enzevalos_iphone/ContactViewController.swift b/enzevalos_iphone/ContactViewController.swift
index aeab85858d7910a32506aba5c6467b1e22149c82..11004f618527a4a2e89ace533e16984a5de43957 100644
--- a/enzevalos_iphone/ContactViewController.swift
+++ b/enzevalos_iphone/ContactViewController.swift
@@ -13,10 +13,12 @@ import ContactsUI
 
 class ContactViewController: UIViewController {
     var keyRecord: KeyRecord? = nil
+    var hasKey: Bool = false
     var highlightEmail: String? = nil
     private var uiContact: CNContact? = nil
     private var vc: CNContactViewController? = nil
     fileprivate var otherRecords: [KeyRecord]? = nil
+    var isUser: Bool = false
 
     @IBOutlet weak var tableView: UITableView!
 
@@ -33,7 +35,16 @@ class ContactViewController: UIViewController {
 
         self.navigationController?.navigationBar.barTintColor = ThemeManager.defaultColor
         if let con = keyRecord {
-            self.title = con.name
+            hasKey = EnzevalosEncryptionHandler.hasKey(con.ezContact)
+            
+            let myAddress = UserManager.loadUserValue(Attribute.userAddr) as! String
+            if con.addresses.contains(where: { $0.mailAddress.lowercased() == myAddress
+            }) {
+                self.title = NSLocalizedString("you", comment: "String decribing this as the account of the user")
+                isUser = true
+            } else {
+                self.title = con.name
+            }
 //            self.title = CNContactFormatter.stringFromContact(con.ezContact.cnContact, style: .FullName)
 
             prepareContactSheet()
@@ -190,12 +201,16 @@ extension ContactViewController: UITableViewDataSource {
                     cell.contactImage.layer.cornerRadius = cell.contactImage.frame.height / 2
                     cell.contactImage.clipsToBounds = true
                     cell.iconImage.image = drawStatusCircle()
-                    if keyRecord!.isVerified {
+                    if isUser {
+                        cell.contactStatus.text = NSLocalizedString("thisIsYou", comment: "This contact is the user")
+                    } else if keyRecord!.isVerified {
                         cell.contactStatus.text = NSLocalizedString("Verified", comment: "Contact is verified")
                     } else if keyRecord!.hasKey {
                         cell.contactStatus.text = NSLocalizedString("notVerified", comment: "Contact is not verified jet")
                     } else if (otherRecords?.filter({ $0.hasKey }).count ?? 0) > 0 {
                         cell.contactStatus.text = NSLocalizedString("otherEncryption", comment: "Contact is using encryption, this is the unsecure collection")
+                    } else if hasKey {
+                        cell.contactStatus.text = NSLocalizedString("hasKeyButNoMail", comment: "We have a key to this contact but haven't received an encrypted mail jet")
                     } else {
                         cell.contactStatus.text = NSLocalizedString("noEncryption", comment: "Contact is not jet using encryption")
                     }
@@ -206,6 +221,8 @@ extension ContactViewController: UITableViewDataSource {
                         actionCell.Button.setTitle(NSLocalizedString("verifyNow", comment: "Verify now"), for: UIControlState())
                     } else if (otherRecords?.filter({ $0.hasKey }).count ?? 0) > 0 {
                         actionCell.Button.setTitle(NSLocalizedString("toEncrypted", comment: "switch to encrypted"), for: UIControlState())
+                    } else if hasKey {
+                        actionCell.Button.setTitle(NSLocalizedString("verifyNow", comment: "Verify now"), for: UIControlState())
                     } else {
                         actionCell.Button.setTitle(NSLocalizedString("invite", comment: "Invide contact to use encryption"), for: UIControlState())
                     }
@@ -293,7 +310,7 @@ extension ContactViewController: UITableViewDataSource {
         if let record = keyRecord {
             switch section {
             case 0:
-                if !record.isVerified {
+                if !record.isVerified && !isUser {
                     return 2
                 }
             case 1:
@@ -330,7 +347,7 @@ extension ContactViewController: UITableViewDataSource {
 
     func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? {
         if section == 0 {
-            return "Mit diesem Kontakt kommunizieren Sie zu 93% verschlüsselt und im Durchschnitt 2,3 x pro Woche." // Nur ein Test
+//            return "Mit diesem Kontakt kommunizieren Sie zu 93% verschlüsselt und im Durchschnitt 2,3 x pro Woche." // Nur ein Test
         }
         return nil
     }
diff --git a/enzevalos_iphone/DataHandler.swift b/enzevalos_iphone/DataHandler.swift
index 41147d0312fc9208f93f46fc72e9bcd0ba79ac0f..0b152b0d8861c6d7fbc20158f9c685812d30c7a0 100644
--- a/enzevalos_iphone/DataHandler.swift
+++ b/enzevalos_iphone/DataHandler.swift
@@ -12,25 +12,25 @@ import Contacts
 // FIXME: comparison operators with optionals were removed from the Swift Standard Libary.
 // Consider refactoring the code to use the non-optional operators.
 fileprivate func < <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
-  switch (lhs, rhs) {
-  case let (l?, r?):
-    return l < r
-  case (nil, _?):
-    return true
-  default:
-    return false
-  }
+    switch (lhs, rhs) {
+    case let (l?, r?):
+        return l < r
+    case (nil, _?):
+        return true
+    default:
+        return false
+    }
 }
 
 // FIXME: comparison operators with optionals were removed from the Swift Standard Libary.
 // Consider refactoring the code to use the non-optional operators.
 fileprivate func > <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
-  switch (lhs, rhs) {
-  case let (l?, r?):
-    return l > r
-  default:
-    return rhs < lhs
-  }
+    switch (lhs, rhs) {
+    case let (l?, r?):
+        return l > r
+    default:
+        return rhs < lhs
+    }
 }
 
 
@@ -40,35 +40,35 @@ fileprivate func > <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
 
 class DataHandler {
     static let handler: DataHandler = DataHandler()
-    
+
     private var managedObjectContext: NSManagedObjectContext
     lazy var mails: [PersistentMail] = self.readMails()
     lazy var contacts: [EnzevalosContact] = self.getContacts()
     lazy var currentstate: State = self.getCurrentState()
-    
+
     private let MaxRecords = 50
-    private let MaxMailsPerRecord = 10
-    
+    private let MaxMailsPerRecord = 100
+
     var receiverRecords: [KeyRecord]
-    
-    var maxUID:UInt64 {
+
+    var maxUID: UInt64 {
         get {
             return currentstate.maxUID
         }
     }
-    
-    var countMails:Int{
+
+    var countMails: Int {
         get {
             return readMails().count
         }
     }
-    
+
     var countContacts: Int {
         get {
             return getContacts().count
         }
     }
-    
+
     func cleanCache() {
         for m in mails {
             managedObjectContext.delete(m)
@@ -81,10 +81,10 @@ class DataHandler {
         currentstate.maxUID = 1
         save()
     }
-    
+
     init() {
         // This resource is the same name as your xcdatamodeld contained in your project.
-        guard let modelURL = Bundle.main.url(forResource: "enzevalos_iphone", withExtension:"momd") else {
+        guard let modelURL = Bundle.main.url(forResource: "enzevalos_iphone", withExtension: "momd") else {
             fatalError("Error loading model from bundle")
         }
         // The managed object model for the application. It is a fatal error for the application not to be able to find and load its model.
@@ -94,9 +94,9 @@ class DataHandler {
         let psc = NSPersistentStoreCoordinator(managedObjectModel: mom)
         self.managedObjectContext = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
         self.managedObjectContext.persistentStoreCoordinator = psc
-        
+
         let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
-        let docURL = urls[urls.endIndex-1]
+        let docURL = urls[urls.endIndex - 1]
         /* The directory the application uses to store the Core Data store file.
          This code uses a file named "DataModel.sqlite" in the application's documents directory.
          */
@@ -111,23 +111,23 @@ class DataHandler {
         managedObjectContext.mergePolicy = NSMergePolicy(merge: NSMergePolicyType.mergeByPropertyObjectTrumpMergePolicyType);
 
     }
-    
+
     func terminate() {
         cleanContacts()
         cleanMails()
         save()
     }
-    
-    func save(){
-        do{
+
+    func save() {
+        do {
             try managedObjectContext.save()
-        } catch{
+        } catch {
             fatalError("Failure to save context\(error)")
         }
     }
-    
-    
-    private func removeAll(entity:String){
+
+
+    private func removeAll(entity: String) {
         let DelAllReqVar = NSBatchDeleteRequest(fetchRequest: NSFetchRequest<NSFetchRequestResult>(entityName: entity))
         do {
             try managedObjectContext.execute(DelAllReqVar)
@@ -136,13 +136,13 @@ class DataHandler {
             print(error)
         }
     }
-    
-    
-    
-    
-    func reset(){
+
+
+
+
+    func reset() {
         removeAll(entity: "EnzevalosContact")
-        removeAll(entity:"PersistentMail")
+        removeAll(entity: "PersistentMail")
         removeAll(entity: "Mail_Address")
         removeAll(entity: "State")
         mails.removeAll()
@@ -150,401 +150,401 @@ class DataHandler {
         receiverRecords.removeAll()
         currentstate.maxUID = 1
     }
-    
+
     private func cleanContacts() {
         if countContacts > MaxRecords {
-            for _ in  0...(countContacts - MaxRecords) {
+            for _ in 0...(countContacts - MaxRecords) {
                 let c = contacts.last! as EnzevalosContact
-                if  !c.hasKey{
-                    for m in c.from{
-                            managedObjectContext.delete(m as NSManagedObject)
-                            if let index = mails.index(of: m) {
-                                mails.remove(at: index)
-                            }
+                if !c.hasKey {
+                    for m in c.from {
+                        managedObjectContext.delete(m as NSManagedObject)
+                        if let index = mails.index(of: m) {
+                            mails.remove(at: index)
                         }
+                    }
                     contacts.removeLast()
                     managedObjectContext.delete(c)
                 }
+                }
+                receiverRecords = getRecords()
             }
-            receiverRecords = getRecords()
         }
-    }
-    
-    private func cleanMails() {
-        for c in contacts {
-            while c.from.count > MaxMailsPerRecord {
-                let last = c.from.last!
-                print("delete \(last.uid) of \(last.from.mailAddress)")
-                managedObjectContext.delete(last)
-                save()
-                if let index = mails.index(of: last) {
+
+        private func cleanMails() {
+            for c in contacts {
+                while c.from.count > MaxMailsPerRecord {
+                    let last = c.from.last!
+                    print("delete \(last.uid) of \(last.from.mailAddress)")
+                    managedObjectContext.delete(last)
+                    save()
+                    if let index = mails.index(of: last) {
                         mails.remove(at: index)
+                    }
                 }
             }
         }
-    }
-    
-    
-    // Save, load, search
-    
-    private func find(_ entityName: String, type:String, search: String) -> [AnyObject]?{
-        let fReq: NSFetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: entityName) //FIXME: NSFetchRequestResult richtig hier?
-        fReq.predicate = NSPredicate(format:"\(type) CONTAINS '\(search)' ")
-        let result: [AnyObject]?
-        do {
-            result = try self.managedObjectContext.fetch(fReq)
-        } catch _ as NSError {
-            result = nil
-            return nil
+
+
+        // Save, load, search
+
+        private func find(_ entityName: String, type: String, search: String) -> [AnyObject]? {
+            let fReq: NSFetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: entityName) //FIXME: NSFetchRequestResult richtig hier?
+            fReq.predicate = NSPredicate(format: "\(type) CONTAINS '\(search)' ")
+            let result: [AnyObject]?
+            do {
+                result = try self.managedObjectContext.fetch(fReq)
+            } catch _ as NSError {
+                result = nil
+                return nil
+            }
+            return result
         }
-        return result
-    }
-    
-    private func findNum (_ entityName: String, type:String, search: UInt64) -> [AnyObject]?{
-        let fReq: NSFetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: entityName) //FIXME: NSFetchRequestResult richtig hier?
-        fReq.predicate = NSPredicate(format:"\(type) = %D ",search)
-        let result: [AnyObject]?
-        do {
-            result = try self.managedObjectContext.fetch(fReq)
-        } catch _ as NSError{
-            result = nil
-            return nil
+
+        private func findNum (_ entityName: String, type: String, search: UInt64) -> [AnyObject]? {
+            let fReq: NSFetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: entityName) //FIXME: NSFetchRequestResult richtig hier?
+            fReq.predicate = NSPredicate(format: "\(type) = %D ", search)
+            let result: [AnyObject]?
+            do {
+                result = try self.managedObjectContext.fetch(fReq)
+            } catch _ as NSError {
+                result = nil
+                return nil
+            }
+            return result
         }
-        return result
-    }
 
-    
-    private func findAll(_ entityName:String)->[AnyObject]? {
-        let fReq: NSFetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: entityName) //FIXME: NSFetchRequestResult richtig hier?
-        let result: [AnyObject]?
-        do {
-            result = try self.managedObjectContext.fetch(fReq)
-        } catch _ as NSError {
-            result = nil
-            return nil
+
+        private func findAll(_ entityName: String) -> [AnyObject]? {
+            let fReq: NSFetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: entityName) //FIXME: NSFetchRequestResult richtig hier?
+            let result: [AnyObject]?
+            do {
+                result = try self.managedObjectContext.fetch(fReq)
+            } catch _ as NSError {
+                result = nil
+                return nil
+            }
+            return result
         }
-        return result
-    }
-    
-    
-    
-    // -------- Handle mail addresses ---------
-    func getMailAddress(_ address: String, temporary: Bool)-> MailAddress {
-        let search  = find("Mail_Address", type: "address", search: address)
-        if search == nil || search!.count == 0 {
-            if temporary{
-                return CNMailAddressExtension(addr: address as NSString)
+
+
+
+        // -------- Handle mail addresses ---------
+        func getMailAddress(_ address: String, temporary: Bool) -> MailAddress {
+            let search = find("Mail_Address", type: "address", search: address)
+            if search == nil || search!.count == 0 {
+                if temporary {
+                    return CNMailAddressExtension(addr: address as NSString)
+                }
+                    else {
+                        let mail_address = NSEntityDescription.insertNewObject(forEntityName: "Mail_Address", into: managedObjectContext) as! Mail_Address
+                        mail_address.address = address
+                        mail_address.prefer_encryption = false
+                        return mail_address
+                }
             }
-            else{
-                let mail_address =  NSEntityDescription.insertNewObject(forEntityName: "Mail_Address",into: managedObjectContext) as! Mail_Address
-                mail_address.address = address
-                mail_address.prefer_encryption = false
-                return mail_address
+                else {
+                    return search![0] as! Mail_Address
             }
         }
-        else {
-            return search![0] as! Mail_Address
+
+        func getMailAddressesByString(_ addresses: [String], temporary: Bool) -> [MailAddress] {
+            var mailaddresses = [MailAddress]()
+            for adr in addresses {
+                mailaddresses.append(getMailAddress(adr, temporary: temporary))
+            }
+            return mailaddresses
         }
-    }
-    
-    func getMailAddressesByString(_ addresses: [String], temporary: Bool) -> [MailAddress]{
-        var mailaddresses = [MailAddress]()
-        for adr in addresses{
-            mailaddresses.append(getMailAddress(adr, temporary: temporary))
+
+        func getMailAddressByMCOAddress(_ address: MCOAddress, temporary: Bool) -> MailAddress {
+            return getMailAddress(address.mailbox!, temporary: temporary)
         }
-        return mailaddresses    
-    }
-    
-    func getMailAddressByMCOAddress(_ address: MCOAddress, temporary: Bool) -> MailAddress {
-        return getMailAddress(address.mailbox!, temporary: temporary)
-    }
-    
-    func getMailAddressesByMCOAddresses(_ addresses: [MCOAddress])->[Mail_Address] {
-        var mailaddresses = [Mail_Address]()
-        for adr in addresses{
-            mailaddresses.append(getMailAddressByMCOAddress(adr, temporary: false) as! Mail_Address)
+
+        func getMailAddressesByMCOAddresses(_ addresses: [MCOAddress]) -> [Mail_Address] {
+            var mailaddresses = [Mail_Address]()
+            for adr in addresses {
+                mailaddresses.append(getMailAddressByMCOAddress(adr, temporary: false) as! Mail_Address)
+            }
+            return mailaddresses
         }
-        return mailaddresses
-    }
-    
-    
-    // -------- Start Access to contact(s) --------
-    // Find one or a list of enzevalos contacts
-    // By mail-address via String or MCOAddress
-    // If no enzevalos contact exists. One is created.
-    
-    func getContactByAddress(_ address: String) -> EnzevalosContact {
-        // Core function
-        let lowerAdr = address.lowercased()
-        for c in contacts {
-            if c.addresses != nil {
-                for adr in c.addresses!{
-                    let a = adr as! MailAddress
-                    if a.mailAddress ==  lowerAdr {
-                        return c
+
+
+        // -------- Start Access to contact(s) --------
+        // Find one or a list of enzevalos contacts
+        // By mail-address via String or MCOAddress
+        // If no enzevalos contact exists. One is created.
+
+        func getContactByAddress(_ address: String) -> EnzevalosContact {
+            // Core function
+            let lowerAdr = address.lowercased()
+            for c in contacts {
+                if c.addresses != nil {
+                    for adr in c.addresses! {
+                        let a = adr as! MailAddress
+                        if a.mailAddress == lowerAdr {
+                            return c
+                        }
                     }
                 }
-            }
-            if let cnContact = c.cnContact {
-                for adr in cnContact.emailAddresses {
-                    let name = adr.value as String
-                    if name == lowerAdr {
-                        let adr = getMailAddress(lowerAdr, temporary: false) as! Mail_Address
-                        c.addToAddresses(adr)
-                        adr.contact = c
-                        return c
+                if let cnContact = c.cnContact {
+                    for adr in cnContact.emailAddresses {
+                        let name = adr.value as String
+                        if name == lowerAdr {
+                            let adr = getMailAddress(lowerAdr, temporary: false) as! Mail_Address
+                            c.addToAddresses(adr)
+                            adr.contact = c
+                            return c
+                        }
                     }
                 }
             }
+
+            let search = find("EnzevalosContact", type: "addresses", search: lowerAdr)
+            var contact: EnzevalosContact
+            if search == nil || search!.count == 0 {
+                contact = NSEntityDescription.insertNewObject(forEntityName: "EnzevalosContact", into: managedObjectContext) as! EnzevalosContact
+                contact.displayname = lowerAdr
+                let adr = getMailAddress(lowerAdr, temporary: false)as! Mail_Address
+                contact.addToAddresses(adr)
+                adr.contact = contact
+                contacts.append(contact)
+            }
+                else {
+                    contact = search! [0] as! EnzevalosContact
+                    contacts.append(contact)
+            }
+            return contact
         }
-        
-        let search = find("EnzevalosContact", type: "addresses", search: lowerAdr)
-        var contact: EnzevalosContact
-        if search == nil || search!.count == 0 {
-            contact = NSEntityDescription.insertNewObject(forEntityName: "EnzevalosContact", into: managedObjectContext) as! EnzevalosContact
-            contact.displayname = lowerAdr
-            let adr = getMailAddress(lowerAdr, temporary: false)as! Mail_Address
-            contact.addToAddresses(adr)
-            adr.contact = contact
-            contacts.append(contact)
-        }
-        else {
-            contact = search! [0] as! EnzevalosContact
-            contacts.append(contact)
-        }
-        return contact
-    }
-    
-    
-    func getContact(_ name: String, address: String, key: String, prefer_enc: Bool) -> EnzevalosContact {
-        let contact = getContactByAddress(address)
-        contact.displayname = name
-        contact.getAddress(address)?.keyID = key
-        _ = contact.getAddress(address)?.prefer_encryption //TODO IOptimize: look for Mail_Address and than for contact!
-        return contact
-    }
-    
-    func getContacts(_ receivers: [MCOAddress]) -> [EnzevalosContact] {
-        var contacts = [EnzevalosContact]()
-        var contact: EnzevalosContact
-        for r in receivers{
-            contact = getContactByMCOAddress(r)
-            contacts.append(contact)
-        }
-        return contacts
-    }
-    
-    func getContactByMCOAddress(_ address: MCOAddress) -> EnzevalosContact {
-        let contact =  getContactByAddress(address.mailbox!)
-        if address.displayName != nil {
-            contact.displayname = address.displayName
+
+
+        func getContact(_ name: String, address: String, key: String, prefer_enc: Bool) -> EnzevalosContact {
+            let contact = getContactByAddress(address)
+            contact.displayname = name
+            contact.getAddress(address)?.keyID = key
+            _ = contact.getAddress(address)?.prefer_encryption //TODO IOptimize: look for Mail_Address and than for contact!
+            return contact
         }
-        return contact
-    }
-    // -------- End Access to contact(s) --------
-    
-    
-    // -------- Start handle to, cc, from addresses --------
-    private func handleFromAddress(_ sender: MCOAddress, fromMail: PersistentMail, autocrypt: AutocryptContact?) {
-        let adr: Mail_Address
-        let contact = getContactByMCOAddress(sender)
-        adr = contact.getAddressByMCOAddress(sender)!
-        if let ac = autocrypt{
-            adr.prefEnc = ac.prefer_encryption
-            adr.encryptionType = ac.type
+
+        func getContacts(_ receivers: [MCOAddress]) -> [EnzevalosContact] {
+            var contacts = [EnzevalosContact]()
+            var contact: EnzevalosContact
+            for r in receivers {
+                contact = getContactByMCOAddress(r)
+                contacts.append(contact)
+            }
+            return contacts
         }
-        fromMail.from = adr
-    }
-    
-    private func handleToAddresses(_ receivers: [MCOAddress], mail: PersistentMail) {
-        mail.addToTo(NSSet(array: getMailAddressesByMCOAddresses(receivers)))
-    }
-    
-    private func handleCCAddresses(_ cc: [MCOAddress], mail: PersistentMail) {
-        mail.addToCc(NSSet(array: getMailAddressesByMCOAddresses(cc)))
-    }
-    
-    // TODO: handle BCC
-    
-    // -------- End handle to, cc, from addresses --------
-    
-    func createMail(_ uid: UInt64, sender: MCOAddress, receivers: [MCOAddress], cc: [MCOAddress], time: Date, received: Bool, subject: String, body: String, flags: MCOMessageFlag, record: KeyRecord?, autocrypt: AutocryptContact?) /*-> Mail*/ {
-        
-        let finding = findNum("PersistentMail", type: "uid", search: uid)
-        let mail: PersistentMail
-        
-        if finding == nil || finding!.count == 0 {
-            // create new mail object
-            mail  = NSEntityDescription.insertNewObject(forEntityName: "PersistentMail", into: managedObjectContext) as! PersistentMail
-          
-            mail.body = body
-            mail.date = time
-            mail.subject = subject
-            
-            mail.uid = uid
-            
-            mail.flag = flags
-            
-            mail.isSigned = false
-            mail.isEncrypted = false
-            mail.trouble = false
-
-            handleFromAddress(sender, fromMail: mail, autocrypt: autocrypt)
-            handleToAddresses(receivers, mail: mail)
-            handleCCAddresses(cc, mail: mail)
-            
-            mail.unableToDecrypt = false
-            mail.decryptIfPossible()
+
+        func getContactByMCOAddress(_ address: MCOAddress) -> EnzevalosContact {
+            let contact = getContactByAddress(address.mailbox!)
+            if address.displayName != nil {
+                contact.displayname = address.displayName
+            }
+            return contact
         }
-        else {
-            return //finding![0] as! Mail
+        // -------- End Access to contact(s) --------
+
+
+        // -------- Start handle to, cc, from addresses --------
+        private func handleFromAddress(_ sender: MCOAddress, fromMail: PersistentMail, autocrypt: AutocryptContact?) {
+            let adr: Mail_Address
+            let contact = getContactByMCOAddress(sender)
+            adr = contact.getAddressByMCOAddress(sender)!
+            if let ac = autocrypt {
+                adr.prefEnc = ac.prefer_encryption
+                adr.encryptionType = ac.type
+            }
+            fromMail.from = adr
         }
-            
-        save()
-        if getCurrentState().maxUID < mail.uid {
-            getCurrentState().maxUID = mail.uid
+
+        private func handleToAddresses(_ receivers: [MCOAddress], mail: PersistentMail) {
+            mail.addToTo(NSSet(array: getMailAddressesByMCOAddresses(receivers)))
         }
-        mails.append(mail)
-        
-        var added = false
-        if let r = record{
-           added =  r.addNewMail(mail)
+
+        private func handleCCAddresses(_ cc: [MCOAddress], mail: PersistentMail) {
+            mail.addToCc(NSSet(array: getMailAddressesByMCOAddresses(cc)))
         }
-        if !added{
-            addToReceiverRecords(mail)
+
+        // TODO: handle BCC
+
+        // -------- End handle to, cc, from addresses --------
+
+        func createMail(_ uid: UInt64, sender: MCOAddress, receivers: [MCOAddress], cc: [MCOAddress], time: Date, received: Bool, subject: String, body: String, flags: MCOMessageFlag, record: KeyRecord?, autocrypt: AutocryptContact?) /*-> Mail*/ {
+
+            let finding = findNum("PersistentMail", type: "uid", search: uid)
+            let mail: PersistentMail
+
+            if finding == nil || finding!.count == 0 {
+                // create new mail object
+                mail = NSEntityDescription.insertNewObject(forEntityName: "PersistentMail", into: managedObjectContext) as! PersistentMail
+
+                mail.body = body
+                mail.date = time
+                mail.subject = subject
+
+                mail.uid = uid
+
+                mail.flag = flags
+
+                mail.isSigned = false
+                mail.isEncrypted = false
+                mail.trouble = false
+
+                handleFromAddress(sender, fromMail: mail, autocrypt: autocrypt)
+                handleToAddresses(receivers, mail: mail)
+                handleCCAddresses(cc, mail: mail)
+
+                mail.unableToDecrypt = false
+                mail.decryptIfPossible()
+            }
+                else {
+                    return //finding![0] as! Mail
+            }
+
+            save()
+            if getCurrentState().maxUID < mail.uid {
+                getCurrentState().maxUID = mail.uid
+            }
+            mails.append(mail)
+
+            var added = false
+            if let r = record {
+                added = r.addNewMail(mail)
+            }
+            if !added {
+                addToReceiverRecords(mail)
+            }
+
+
+            //return mail
         }
-       
-        
-        //return mail
-    }
 
-    private func readMails() -> [PersistentMail] {
-        var mails = [PersistentMail]()
-        let result = findAll("PersistentMail")
-        if result != nil {
-            for r in result! {
-                let m = r as! PersistentMail
-                mails.append(m)
-                if  getCurrentState().maxUID < m.uid {
-                    getCurrentState().maxUID = m.uid
+        private func readMails() -> [PersistentMail] {
+            var mails = [PersistentMail]()
+            let result = findAll("PersistentMail")
+            if result != nil {
+                for r in result! {
+                    let m = r as! PersistentMail
+                    mails.append(m)
+                    if getCurrentState().maxUID < m.uid {
+                        getCurrentState().maxUID = m.uid
+                    }
+                    }
                 }
+                return mails
             }
-        }
-        return mails
-    }
-    
-    private func getAddresses()-> [MailAddress]{
-        var adrs = [MailAddress]()
-        let result = findAll("Mail_Address")
-        if result != nil {
-            for r in result! {
-                let adr = r as! MailAddress
-                adrs.append(adr)
+
+            private func getAddresses() -> [MailAddress] {
+                var adrs = [MailAddress]()
+                let result = findAll("Mail_Address")
+                if result != nil {
+                    for r in result! {
+                        let adr = r as! MailAddress
+                        adrs.append(adr)
+                    }
+                }
+                return adrs
+
             }
-        }
-        return adrs
-    
-    }
-    
-    private func getContacts()->[EnzevalosContact] {
-        var contacts = [EnzevalosContact]()
-        let result = findAll("EnzevalosContact")
-        if result != nil {
-            for r in result!{
-                let c = r as! EnzevalosContact
-                let ms = c.from
-                if ms.count > 0 {
-                    contacts.append(c)
+
+            private func getContacts() -> [EnzevalosContact] {
+                var contacts = [EnzevalosContact]()
+                let result = findAll("EnzevalosContact")
+                if result != nil {
+                    for r in result! {
+                        let c = r as! EnzevalosContact
+                        let ms = c.from
+                        if ms.count > 0 {
+                            contacts.append(c)
+                        }
+                    }
                 }
+                return contacts
             }
-        }
-        return contacts
-    }
-    
-    private func getRecords() -> [KeyRecord] {
-        var records = [KeyRecord]()
-        let mails = readMails()
-        for m in mails {
-            addToRecords(m,records: &records)
-        }
-        for r in records {
-            r.mails.sort()
-        }
-        records.sort()
-        print("#KeyRecords: \(records.count) ")
-        print("#Mails: \(mails.count)")
-        return records
-    }
-    
-    private func addToRecords(_ m: PersistentMail, records: inout [KeyRecord] ){
-    
-        var found = false
-        for r in records {
-            if r.addNewMail(m) {
-                found = true
+
+            private func getRecords() -> [KeyRecord] {
+                var records = [KeyRecord]()
+                let mails = readMails()
+                for m in mails {
+                    addToRecords(m, records: &records)
+                }
+                for r in records {
+                    r.mails.sort()
+                }
                 records.sort()
-                break
+                print("#KeyRecords: \(records.count) ")
+                print("#Mails: \(mails.count)")
+                return records
             }
-        }
-        if !found {
-            let r = KeyRecord(mail: m)
-            mergeRecords(newRecord: r, records: &records)
-            records.append(r)
-            records.sort()
-        }
-    }
-    
-    
-    private func mergeRecords(newRecord: KeyRecord, records: inout[KeyRecord]){
-        var j = 0
-        if !newRecord.hasKey{
-            return
-        }
-        while j < records.count{
-            let r = records[j]
-            if !r.hasKey && r.ezContact == newRecord.ezContact{
-                var i = 0
-                while i < r.mails.count{
-                    let mail = r.mails[i]
-                    var remove = false
-                    if mail.from.keyID == newRecord.key{
-                        remove = newRecord.addNewMail(mail)
-                        if remove{
-                            r.mails.remove(at: i)
-                        }
+
+            private func addToRecords(_ m: PersistentMail, records: inout [KeyRecord]) {
+
+                var found = false
+                for r in records {
+                    if r.addNewMail(m) {
+                        found = true
+                        records.sort()
+                        break
                     }
-                    if !remove{
-                        i = i + 1
+                }
+                if !found {
+                    let r = KeyRecord(mail: m)
+                    mergeRecords(newRecord: r, records: &records)
+                    records.append(r)
+                    records.sort()
+                }
+            }
+
+
+            private func mergeRecords(newRecord: KeyRecord, records: inout[KeyRecord]) {
+                var j = 0
+                if !newRecord.hasKey {
+                    return
+                }
+                while j < records.count {
+                    let r = records[j]
+                    if !r.hasKey && r.ezContact == newRecord.ezContact {
+                        var i = 0
+                        while i < r.mails.count {
+                            let mail = r.mails[i]
+                            var remove = false
+                            if mail.from.keyID == newRecord.key {
+                                remove = newRecord.addNewMail(mail)
+                                if remove {
+                                    r.mails.remove(at: i)
+                                }
+                            }
+                            if !remove {
+                                i = i + 1
+                            }
+                        }
+                        if r.mails.count == 0 {
+                            records.remove(at: j)
+                        } else {
+                            j = j + 1
+                        }
+                    } else {
+                        j = j + 1
                     }
                 }
-                if r.mails.count == 0{
-                    records.remove(at: j)
-                } else{
-                    j = j + 1
+            }
+
+            private func addToReceiverRecords(_ m: PersistentMail) {
+                addToRecords(m, records: &receiverRecords)
+            }
+
+
+            func getCurrentState() -> State {
+                let result = findAll("State")
+                if result != nil && result?.count > 0 {
+                    currentstate = (result?.first as? State)!
+                }
+                    else {
+                        currentstate = (NSEntityDescription.insertNewObject(forEntityName: "State", into: managedObjectContext) as? State)!
+                        currentstate.currentContacts = contacts.count
+                        currentstate.currentMails = mails.count
+                        currentstate.maxUID = 1
+                        save()
                 }
-            } else{
-                j = j + 1
+                return currentstate
             }
         }
-    }
-    
-    private func addToReceiverRecords(_ m: PersistentMail){
-        addToRecords(m, records: &receiverRecords)
-    }
-    
-    
-    func getCurrentState() -> State {
-        let result = findAll("State")
-        if result != nil && result?.count > 0 {
-            currentstate =  (result?.first as? State)!
-        }
-        else {
-            currentstate  = (NSEntityDescription.insertNewObject(forEntityName: "State", into: managedObjectContext) as? State)!
-            currentstate.currentContacts = contacts.count
-            currentstate.currentMails = mails.count
-            currentstate.maxUID = 1
-            save()
-        }
-        return currentstate
-    }
-}
diff --git a/enzevalos_iphone/MailHandler.swift b/enzevalos_iphone/MailHandler.swift
index c93b670bc8d1968f3a0057159636102e39dc1207..616a5657a503dad9630b3f020784adbbf09d641d 100644
--- a/enzevalos_iphone/MailHandler.swift
+++ b/enzevalos_iphone/MailHandler.swift
@@ -506,4 +506,34 @@ func parseMail(_ error: Error?, parser: MCOMessageParser?, message: MCOIMAPMessa
     
     
     
+    func moveMails(mails: [PersistentMail], from: String, to: String){
+        let uids = MCOIndexSet()
+        for m in mails{
+            uids.add(m.uid)
+        }
+        self.setupIMAPSession()
+        let op = self.IMAPSession.copyMessagesOperation(withFolder: from, uids: uids, destFolder: to)
+        op?.start{
+            (err, vanished) -> Void in
+            guard err == nil else {
+                print("Error while fetching inbox: \(err)")
+                return
+            }
+        }
+        let mark = self.IMAPSession.storeFlagsOperation(withFolder: from, uids: uids, kind: MCOIMAPStoreFlagsRequestKind.add, flags: MCOMessageFlag.deleted)
+        mark?.start{ err -> Void in
+            guard err == nil else {
+                print("Error while fetching inbox: \(err)")
+                return
+            }
+        }
+        let expunge = self.IMAPSession.expungeOperation(from)
+        expunge?.start{
+            err -> Void in
+            guard err == nil else {
+                print("Error while fetching inbox: \(err)")
+                return
+            }
+        }
+    }
 }
diff --git a/enzevalos_iphone/Onboarding.swift b/enzevalos_iphone/Onboarding.swift
index 5266ca418c503738a72d5cb4d2de64af88f98fa7..17335a26a35df5a4279f2a03f51a71ff263f11f5 100644
--- a/enzevalos_iphone/Onboarding.swift
+++ b/enzevalos_iphone/Onboarding.swift
@@ -46,7 +46,7 @@ class Onboarding: NSObject {
 
     static var fail: () -> () = { Void in }
     static var work: () -> () = { Void in }
-    
+
     static var credentialFails = 0
 
     static var authenticationRows: [Int: String] = [MCOAuthType.saslLogin.rawValue: "Login", MCOAuthType.saslPlain.rawValue: NSLocalizedString("NormalPassword", comment: ""), MCOAuthType.SASLSRP.rawValue: "SRP", MCOAuthType.SASLCRAMMD5.rawValue: "CRAMMD5", MCOAuthType.SASLDIGESTMD5.rawValue: "DIGESTMD5", MCOAuthType.SASLNTLM.rawValue: "NTLM", MCOAuthType.SASLGSSAPI.rawValue: "GSSAPI", MCOAuthType.saslKerberosV4.rawValue: "KerberosV4"]
@@ -176,7 +176,7 @@ class Onboarding: NSObject {
         //vc?.backgroundImage = postcardBg
         vc?.shouldFadeTransitions = true
         //vc?.shouldMaskBackground = false
-        
+
         let duration = 0.5
 
         intro2.viewWillAppearBlock = {
@@ -217,7 +217,7 @@ class Onboarding: NSObject {
         if self.credentialFails > 0 {
             //vc!.pageControl.currentPage = (vc?.pageControl.numberOfPages)!-1
         }
-        
+
         return vc!
     }
 
@@ -538,7 +538,7 @@ class Onboarding: NSObject {
             UserManager.storeUserValue(password.text! as AnyObject?, attribute: Attribute.userPW)
             UserManager.storeUserValue(username.text! as AnyObject?, attribute: Attribute.userName)
             UserManager.storeUserValue(username.text! as AnyObject?, attribute: Attribute.accountname)
-            UserManager.storeUserValue(keyForValue(transportRows, value: imapTransDataDelegate.pickedValue)[0] as AnyObject?, attribute: Attribute.imapConnectionType)
+            UserManager.storeUserValue(keyForValue(transportRows, value: imapTransDataDelegate.pickedValue)[0] as AnyObject?, attribute: Attribute.imapConnectionType) //TODO: fatal error: Index out of range when reset button was used
             UserManager.storeUserValue(keyForValue(authenticationRows, value: imapAuthDataDelegate.pickedValue)[0] as AnyObject?, attribute: Attribute.imapAuthType)
             UserManager.storeUserValue(keyForValue(transportRows, value: smtpTransDataDelegate.pickedValue)[0] as AnyObject?, attribute: Attribute.smtpConnectionType)
             UserManager.storeUserValue(keyForValue(authenticationRows, value: smtpAuthDataDelegate.pickedValue)[0] as AnyObject?, attribute: Attribute.smtpAuthType)
@@ -712,23 +712,32 @@ class Onboarding: NSObject {
         }
         catch _ { }
 
-//        path = Bundle.main.path(forResource: "nchr-public", ofType: "gpg")
-//        pgp = ObjectivePGP.init()
-//        pgp.importKeys(fromFile: path!, allowDuplicates: false)
-//        do {
-//            let data = try pgp.keys[0].export()
-//            _ = enc?.addKey(data, forMailAddresses: ["nchr@enzevalos.de"])
-//        }
-//        catch _ { }
-//
-//        path = Bundle.main.path(forResource: "ncpayroll-public", ofType: "gpg")
-//        pgp = ObjectivePGP.init()
-//        pgp.importKeys(fromFile: path!, allowDuplicates: false)
-//        do {
-//            let data = try pgp.keys[0].export()
-//            _ = enc?.addKey(data, forMailAddresses: ["ncpayroll@enzevalos.de"])
-//        }
-//        catch _ { }
+        path = Bundle.main.path(forResource: "nchr-public", ofType: "gpg")
+        pgp = ObjectivePGP.init()
+        pgp.importKeys(fromFile: path!, allowDuplicates: false)
+        do {
+            let data = try pgp.keys[0].export()
+            _ = enc?.addKey(data, forMailAddresses: ["nchr@enzevalos.de"])
+        }
+        catch _ { }
+
+        path = Bundle.main.path(forResource: "ncpayroll-public", ofType: "gpg")
+        pgp = ObjectivePGP.init()
+        pgp.importKeys(fromFile: path!, allowDuplicates: false)
+        do {
+            let data = try pgp.keys[0].export()
+            _ = enc?.addKey(data, forMailAddresses: ["ncpayroll@enzevalos.de"])
+        }
+        catch _ { }
+        
+        path = Bundle.main.path(forResource: "ullimuelle-public", ofType: "gpg")
+        pgp = ObjectivePGP.init()
+        pgp.importKeys(fromFile: path!, allowDuplicates: false)
+        do {
+            let data = try pgp.keys[0].export()
+            _ = enc?.addKey(data, forMailAddresses: ["ullimuelle@web.de"])
+        }
+        catch _ { }
 
         //Import public keys for labstudy END
         //---------------------------------------
@@ -758,7 +767,6 @@ class Onboarding: NSObject {
 class TextFieldDelegate: NSObject, UITextFieldDelegate {
 
     func textFieldDidBeginEditing(_ textField: UITextField) {
-        print("hallo")
     }
 
     func textFieldShouldReturn(_ textField: UITextField) -> Bool {
@@ -766,10 +774,9 @@ class TextFieldDelegate: NSObject, UITextFieldDelegate {
             textField.resignFirstResponder()
             Onboarding.password.becomeFirstResponder()
             return false
-        }
-            else if textField == Onboarding.password {
-                textField.resignFirstResponder()
-                return true
+        } else if textField == Onboarding.password {
+            textField.resignFirstResponder()
+            return true
         }
         return true
     }
diff --git a/enzevalos_iphone/ReadViewController.swift b/enzevalos_iphone/ReadViewController.swift
index 22ca79f010ce59fb04c2ca8b87368eac90f750ec..e09efaec27918659b8d91ab36838ac457e89c410 100644
--- a/enzevalos_iphone/ReadViewController.swift
+++ b/enzevalos_iphone/ReadViewController.swift
@@ -126,10 +126,8 @@ class ReadViewController: UITableViewController {
     }
 
     override func numberOfSections(in tableView: UITableView) -> Int {
-        if let mail = mail {
-            if mail.trouble && mail.showMessage || !mail.trouble && !mail.isSecure && mail.from.contact!.hasKey || mail.isEncrypted && mail.unableToDecrypt {
-                return 3
-            }
+        if let mail = mail, mail.trouble && mail.showMessage || !mail.trouble && !mail.isSecure && mail.from.contact!.hasKey || mail.isEncrypted && mail.unableToDecrypt, !(UserDefaults.standard.value(forKey: "hideWarnings") as? Bool ?? false) {
+            return 3
         }
 
         return 2
@@ -160,7 +158,7 @@ class ReadViewController: UITableViewController {
                 return subjectCell
             }
         }
-        if indexPath.section == 1 {
+        if indexPath.section == 1 && !(UserDefaults.standard.value(forKey: "hideWarnings") as? Bool ?? false) {
             if let mail = mail {
                 if mail.trouble {
                     if indexPath.row == 0 {
diff --git a/enzevalos_iphone/Settings.bundle/Root.plist b/enzevalos_iphone/Settings.bundle/Root.plist
index e2f4350aa39c197260a99703540dcebce43999fd..4bbb13942ecd3b0d4ecfaadad7511443827ff4e8 100644
--- a/enzevalos_iphone/Settings.bundle/Root.plist
+++ b/enzevalos_iphone/Settings.bundle/Root.plist
@@ -8,6 +8,20 @@
 	<string></string>
 	<key>PreferenceSpecifiers</key>
 	<array>
+		<dict>
+			<key>Type</key>
+			<string>PSToggleSwitchSpecifier</string>
+			<key>Title</key>
+			<string>Hide Warning Messages</string>
+			<key>Key</key>
+			<string>hideWarnings</string>
+			<key>DefaultValue</key>
+			<false/>
+			<key>TrueValue</key>
+			<true/>
+			<key>FalseValue</key>
+			<false/>
+		</dict>
 		<dict>
 			<key>Type</key>
 			<string>PSToggleSwitchSpecifier</string>
diff --git a/enzevalos_iphone/de.lproj/Localizable.strings b/enzevalos_iphone/de.lproj/Localizable.strings
index 21ca36284b3ff339ed008eec46c915d1076d159a..a8e916cc233d6873441a4b25e29a74140c05d1d9 100644
--- a/enzevalos_iphone/de.lproj/Localizable.strings
+++ b/enzevalos_iphone/de.lproj/Localizable.strings
@@ -108,6 +108,7 @@
 "notVerified" = "Kontakt ist noch nicht verifiziert";
 "noEncryption" = "Kontakt nutzt noch keine Verschlüsselung";
 "otherEncryption" = "Dies ist die unsichere Ablage dieses Kontakt";
+"hasKeyButNoMail" = "Kontakt nutzt verschlüsselung, hat dir aber noch keine sichere E-Mail gesendet";
 "Verified" = "Kontakt ist verifiziert";
 "verifyNow" = "Jetzt verifizieren";
 "toEncrypted" = "Zur sicheren Ablage";
@@ -134,3 +135,5 @@
 "inviteSubject" = "Lass uns unsere E-Mails verschlüsseln!";
 "inviteText" = "Hallo!\n\nEs gibt eine neue App die es super einfach macht verschlüsselt über E-Mail zu kommunizieren. Sie heißt Enzevalos und ist kostenlos im App Store zu finden.\n\nEs wäre toll wenn du sie mal ausprobieren würdest!\n\nViele Grüße!";
 "noName" = "OHNE NAME";
+"you" = "Deine Ablage";
+"thisIsYou" = "Hier werden E-Mails die du dir selber schickst gesammelt";
diff --git a/enzevalos_iphone/en.lproj/Localizable.strings b/enzevalos_iphone/en.lproj/Localizable.strings
index 7353cf2712cd9d2bbf3bf0684bec73944994aba0..3ee832d0b4402c5f3e7f8959b34bed6f49a1ee85 100644
--- a/enzevalos_iphone/en.lproj/Localizable.strings
+++ b/enzevalos_iphone/en.lproj/Localizable.strings
@@ -107,6 +107,7 @@
 "notVerified" = "Contact is not verified jet";
 "noEncryption" = "Contact is not jet using encryption";
 "otherEncryption" = "This is the unsafe tray with this Contact";
+"hasKeyButNoMail" = "Contact has a key, but you haven't received a safe email jet.";
 "Verified" = "Contact is verified";
 "verifyNow" = "Verify now";
 "toEncrypted" = "Switch to secure tray";
@@ -133,3 +134,5 @@
 "inviteSubject" = "Lets use secure email!";
 "inviteText" = "Hey there!\n\nThere is this new App called Enzevalos which makes it really easy to communicate encrypted over email.\n\nI would love for you to try it!\n\nBest regards!";
 "noName" = "NO NAME";
+"you" = "Your Tray";
+"thisIsYou" = "Emails you sent yourself are collected heree";
diff --git a/enzevalos_iphone/JakobBode.asc b/enzevalos_iphone/keys/JakobBode.asc
similarity index 100%
rename from enzevalos_iphone/JakobBode.asc
rename to enzevalos_iphone/keys/JakobBode.asc
diff --git a/enzevalos_iphone/alice2005-2.gpg b/enzevalos_iphone/keys/alice2005-2.gpg
similarity index 100%
rename from enzevalos_iphone/alice2005-2.gpg
rename to enzevalos_iphone/keys/alice2005-2.gpg
diff --git a/enzevalos_iphone/alice2005-private.gpg b/enzevalos_iphone/keys/alice2005-private.gpg
similarity index 100%
rename from enzevalos_iphone/alice2005-private.gpg
rename to enzevalos_iphone/keys/alice2005-private.gpg
diff --git a/enzevalos_iphone/alice2005-public.gpg b/enzevalos_iphone/keys/alice2005-public.gpg
similarity index 100%
rename from enzevalos_iphone/alice2005-public.gpg
rename to enzevalos_iphone/keys/alice2005-public.gpg
diff --git a/enzevalos_iphone/idsolutions-private.gpg b/enzevalos_iphone/keys/idsolutions-private.gpg
similarity index 100%
rename from enzevalos_iphone/idsolutions-private.gpg
rename to enzevalos_iphone/keys/idsolutions-private.gpg
diff --git a/enzevalos_iphone/idsolutions-public.gpg b/enzevalos_iphone/keys/idsolutions-public.gpg
similarity index 100%
rename from enzevalos_iphone/idsolutions-public.gpg
rename to enzevalos_iphone/keys/idsolutions-public.gpg
diff --git a/enzevalos_iphone/jabo.asc b/enzevalos_iphone/keys/jabo.asc
similarity index 98%
rename from enzevalos_iphone/jabo.asc
rename to enzevalos_iphone/keys/jabo.asc
index 1a2d672f55e1cb5d3672fc49dbf36a8cb6104ebe..533de1cbb735351da6d291c7d84d1a6575e9892b 100644
--- a/enzevalos_iphone/jabo.asc
+++ b/enzevalos_iphone/keys/jabo.asc
@@ -1,29 +1,29 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBFg1yLQBCADVlA/daw2tosPrG71NVhHXhLunu2G42I0+qKomiBTKrHUTQ8E8
-ZZoRBppHRAE8bIOjvwevif9+k7p7K2lOCp2jgtT6vb7Z+yiuZ1vNGyeT/4DDdKWS
-Fh2juCBsysQ7t/iVAUYGAYd/8IL4f4wsa75ZpyqgJkaoKSX3eHELybE567tXxUkX
-ckrBF/nYfRB8Q78fszSukCLtpgs+Wmto1pge/sBThmhmKCo7BCUR4JkxKVkE04fq
-MDYDzAJzkDwOlxA3BnK35H1MyT7HmS80xZTCSbb8Efmf2iPiV16gqPwVNDceopFN
-RAhbhCDXBJthpjWxZ4DCytca9ryfe4IgINSxABEBAAG0G01yLiBqYWJvIDxzcGFt
-X2phYm9Ad2ViLmRlPokBNwQTAQgAIQUCWDXItAIbAwULCQgHAgYVCAkKCwIEFgID
-AQIeAQIXgAAKCRCw71d5vjFXBJvWB/4qvsiwqkGVMWn5nyOYBGnPCTf964eAkFwc
-7UHxrvd1apFmbKMf+Bmp9aKvJDRcq8iuv9BCFL4w1LSOt5kSMvpyq62p/DO8QCh6
-DtIXkzMcY32NAIW8CgXfOZd1zMRsNAPEFfcbRCO2tQFrd3AxcevtQQw+UMf7EgdY
-baKnmeMv+eKom3ZyAK6GsxNNo85zLcg3qwWSQYpTdK+Pfom3AM10VYr4N0njec8g
-MqN4AEe7h0jicLOjXw2CYoNOFU1T2R4Wvv14fKP/3d7VYpU2ytkCEgBauqgnwQ0M
-CQ34gUoReFKyq/gaiyIyZ5bhcOJPr9NGmhR2fIIpSoAhshrZgfS0uQENBFg1yLQB
-CAC15O6kPDt6ndI3YFxozFaq+obVXvAMoxH3+Dihfl4dePodRVGlk/89IscefYL7
-tJjlw+2mHriB5TKK9Ci9vOCm2MzQ3Q5SfIpbP9FLuoRLn8MifvFlBBhUE0iAvAql
-9O9qj879/L0/5tR8isdnAvo2jqPE26e2BM9YPL2JoW+OYl0BVTVpqW+i9izqjAJH
-GIWZu5DCFx06DJ/HiqBLHpWrxiFKFoWc0/UEhd8M6mLiCM92kYY/rEuFwt9ZOFFY
-V9Hs4qXnDBAc6/CfXiCntQlbs/6zKFUtFP/BNio7OjDPz/Ai7ws11u60NMCPYINc
-H0D/4FHOsvRuIKZm54RJUkK7ABEBAAGJAR8EGAEIAAkFAlg1yLQCGwwACgkQsO9X
-eb4xVwQP7wf9EfnMYdgoqPF7NdFsxIKHAux64XGZs5y0UdlTaiVDHTpxQzt47nDY
-SrcWkvNFTeprFQXice58ZEJDABN3FLgGCLB/8JZXdNBkadErWPRX9qN0Idau/w+/
-AFPf/cZVygLMifYoR0Q5K8BCbAyS14f28zqA4fSoLh/lVKHpoECOFRxyl20QHLOf
-TL186l5tA6+ZHn2RM0hoPnFgKveYTU0cyfZ1htMLihCA+hItEoIUyrZsnc28Aeor
-j8ApeY4EL3LVwsqfndPT7Hm6Cn4c3mpnn1NK81y/Rlu3OmvShuOZyFEL5mmpmWhp
-pYTbhtrXNSkfEgwVB3du8AcII5aZdWC22w==
-=z1AL
------END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFg1yLQBCADVlA/daw2tosPrG71NVhHXhLunu2G42I0+qKomiBTKrHUTQ8E8
+ZZoRBppHRAE8bIOjvwevif9+k7p7K2lOCp2jgtT6vb7Z+yiuZ1vNGyeT/4DDdKWS
+Fh2juCBsysQ7t/iVAUYGAYd/8IL4f4wsa75ZpyqgJkaoKSX3eHELybE567tXxUkX
+ckrBF/nYfRB8Q78fszSukCLtpgs+Wmto1pge/sBThmhmKCo7BCUR4JkxKVkE04fq
+MDYDzAJzkDwOlxA3BnK35H1MyT7HmS80xZTCSbb8Efmf2iPiV16gqPwVNDceopFN
+RAhbhCDXBJthpjWxZ4DCytca9ryfe4IgINSxABEBAAG0G01yLiBqYWJvIDxzcGFt
+X2phYm9Ad2ViLmRlPokBNwQTAQgAIQUCWDXItAIbAwULCQgHAgYVCAkKCwIEFgID
+AQIeAQIXgAAKCRCw71d5vjFXBJvWB/4qvsiwqkGVMWn5nyOYBGnPCTf964eAkFwc
+7UHxrvd1apFmbKMf+Bmp9aKvJDRcq8iuv9BCFL4w1LSOt5kSMvpyq62p/DO8QCh6
+DtIXkzMcY32NAIW8CgXfOZd1zMRsNAPEFfcbRCO2tQFrd3AxcevtQQw+UMf7EgdY
+baKnmeMv+eKom3ZyAK6GsxNNo85zLcg3qwWSQYpTdK+Pfom3AM10VYr4N0njec8g
+MqN4AEe7h0jicLOjXw2CYoNOFU1T2R4Wvv14fKP/3d7VYpU2ytkCEgBauqgnwQ0M
+CQ34gUoReFKyq/gaiyIyZ5bhcOJPr9NGmhR2fIIpSoAhshrZgfS0uQENBFg1yLQB
+CAC15O6kPDt6ndI3YFxozFaq+obVXvAMoxH3+Dihfl4dePodRVGlk/89IscefYL7
+tJjlw+2mHriB5TKK9Ci9vOCm2MzQ3Q5SfIpbP9FLuoRLn8MifvFlBBhUE0iAvAql
+9O9qj879/L0/5tR8isdnAvo2jqPE26e2BM9YPL2JoW+OYl0BVTVpqW+i9izqjAJH
+GIWZu5DCFx06DJ/HiqBLHpWrxiFKFoWc0/UEhd8M6mLiCM92kYY/rEuFwt9ZOFFY
+V9Hs4qXnDBAc6/CfXiCntQlbs/6zKFUtFP/BNio7OjDPz/Ai7ws11u60NMCPYINc
+H0D/4FHOsvRuIKZm54RJUkK7ABEBAAGJAR8EGAEIAAkFAlg1yLQCGwwACgkQsO9X
+eb4xVwQP7wf9EfnMYdgoqPF7NdFsxIKHAux64XGZs5y0UdlTaiVDHTpxQzt47nDY
+SrcWkvNFTeprFQXice58ZEJDABN3FLgGCLB/8JZXdNBkadErWPRX9qN0Idau/w+/
+AFPf/cZVygLMifYoR0Q5K8BCbAyS14f28zqA4fSoLh/lVKHpoECOFRxyl20QHLOf
+TL186l5tA6+ZHn2RM0hoPnFgKveYTU0cyfZ1htMLihCA+hItEoIUyrZsnc28Aeor
+j8ApeY4EL3LVwsqfndPT7Hm6Cn4c3mpnn1NK81y/Rlu3OmvShuOZyFEL5mmpmWhp
+pYTbhtrXNSkfEgwVB3du8AcII5aZdWC22w==
+=z1AL
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/enzevalos_iphone/nchr.gpg b/enzevalos_iphone/keys/nchr-private.gpg
similarity index 100%
rename from enzevalos_iphone/nchr.gpg
rename to enzevalos_iphone/keys/nchr-private.gpg
diff --git a/enzevalos_iphone/nchrPublic.gpg b/enzevalos_iphone/keys/nchr-public.gpg
similarity index 100%
rename from enzevalos_iphone/nchrPublic.gpg
rename to enzevalos_iphone/keys/nchr-public.gpg
diff --git a/enzevalos_iphone/ncPayroll.gpg b/enzevalos_iphone/keys/ncpayroll-private.gpg
similarity index 100%
rename from enzevalos_iphone/ncPayroll.gpg
rename to enzevalos_iphone/keys/ncpayroll-private.gpg
diff --git a/enzevalos_iphone/ncPayrollPublic.gpg b/enzevalos_iphone/keys/ncpayroll-public.gpg
similarity index 100%
rename from enzevalos_iphone/ncPayrollPublic.gpg
rename to enzevalos_iphone/keys/ncpayroll-public.gpg
diff --git a/ulliMuelle.gpg b/enzevalos_iphone/keys/ullimuelle-private.gpg
similarity index 100%
rename from ulliMuelle.gpg
rename to enzevalos_iphone/keys/ullimuelle-private.gpg
diff --git a/ulliMuellePublic.gpg b/enzevalos_iphone/keys/ullimuelle-public.gpg
similarity index 100%
rename from ulliMuellePublic.gpg
rename to enzevalos_iphone/keys/ullimuelle-public.gpg
diff --git a/enzevalos_iphone/quizer1-private.asc b/enzevalos_iphone/quizer1-private.asc
deleted file mode 100755
index 302ba3167328aae35598a291933574339a8d44de..0000000000000000000000000000000000000000
--- a/enzevalos_iphone/quizer1-private.asc
+++ /dev/null
@@ -1,105 +0,0 @@
------BEGIN PGP PRIVATE KEY BLOCK-----
-
-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
-=bbLY
------END PGP PRIVATE KEY BLOCK-----
diff --git a/enzevalos_iphone/quizer1-public.asc b/enzevalos_iphone/quizer1-public.asc
deleted file mode 100644
index 80d0c6290b0e9d9c695e38cf541891a3fc218aa5..0000000000000000000000000000000000000000
--- a/enzevalos_iphone/quizer1-public.asc
+++ /dev/null
@@ -1,52 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-PG8LClRF
-=V1Yv
------END PGP PUBLIC KEY BLOCK-----