         return result
     }
     
-    private class func updateKey(tag: String, keySize: Int? = nil, data: NSData) -> Bool {
+    private class func updateKey(tag: String, data: NSData) -> Bool {
         var query: Dictionary<String, AnyObject> = [
             String(kSecAttrKeyType): kSecAttrKeyTypeRSA,
             String(kSecClass): kSecClassKey as CFStringRef,
             String(kSecAttrApplicationTag): tag as CFStringRef]
         
-        if let size = keySize {
-            query[String(kSecAttrKeySizeInBits)] = size
-        }
-        
         return SecItemUpdate(query, [String(kSecValueData): data]) == noErr
     }
     
-    private class func deleteKey(tag: String, keySize: Int? = nil) -> Bool {
+    private class func deleteKey(tag: String) -> Bool {
         var query: Dictionary<String, AnyObject> = [
             String(kSecAttrKeyType): kSecAttrKeyTypeRSA,
             String(kSecClass): kSecClassKey as CFStringRef,
             String(kSecAttrApplicationTag): tag as CFStringRef]
-        
-        if let size = keySize {
-            query[String(kSecAttrKeySizeInBits)] = size
-        }
         
         return SecItemDelete(query) == noErr
     }

public class Heimdall {
    private let publicTag: String
    private let privateTag: String?
    private let keySize: Int
    private let scope: ScopeOptions
    
    /// 

    /// :returns: Heimdall instance that can handle both private and public key operations
    ///
    public convenience init?(tagPrefix: String, keySize: Int = 2048) {
        self.init(publicTag: tagPrefix, privateTag: tagPrefix + ".private")
    }
    
    ///
