 import CommonCrypto
 
 public class Heimdall {
-    let tag: String
-    let privateTag: String
-    let keySize: Int
-    
-    public enum KeyType {
-        case Public
-        case Private
+    private let publicTag: String
+    private let privateTag: String?
+    private let keySize: Int
+    
     }
     
     public init?(tag: String, keySize: Int = 2048) {

            String(kSecAttrApplicationTag): self.privateTag as CFStringRef]
        
        let privateResult = SecItemDelete(query)
        
        // Public key
        query = [

        return false
    }
    
    
    //
    //  MARK: Private helpers
    //
    private func obtainKey(key: KeyType) -> SecKeyRef? {
        let tag: String = {
