     
     private var minHashLength:UInt;
     
-    private var alphabet:[UInt32];
-    
-    private var seps:[UInt32];
-
-    private var salt:[UInt32];
-    
-    private var guards:[UInt32];
+    private var alphabet:[Char];
+    
+    private var seps:[Char];
+
+    private var salt:[Char];
+    
+    private var guards:[Char];
     
 
     init(salt:String!, minHashLength:UInt = 0, alphabet:String? = nil)

        var _seps = "cfhistuCFHISTU";
        
        self.minHashLength = minHashLength;
        self.guards = [UInt32]();
        self.salt = map(salt.unicodeScalars){ $0.value };
        self.seps = map(_seps.unicodeScalars){ $0.value };
        self.alphabet = unique( map(_alphabet.unicodeScalars){ $0.value } );

        return Int(trunc(value));
    }
    
    private func _saltify(inout salt:[Char], _ lottery:Char, _ alphabet:[Char]) -> (Range<Int>, Range<Int>)
    {
        salt.append(lottery);
        salt = salt + self.salt;
        salt = salt + alphabet;
        let lsaltARange = (self.salt.count + 1)..<salt.count;
        let lsaltRange = 0..<alphabet.count;
        return (lsaltARange, lsaltRange);
    }
   
}

internal func contains<T:CollectionType where T.Generator.Element:Equatable>(a:T, e:T.Generator.Element) -> Bool
