     }
     
     var isUppercase: Bool {
-        return self == uppercaseString
+        return self == uppercased()
     }
     
     var wordsFromCamelCase: String {
         var wordString = ""
         var previousChar: String? = nil
         for charN in 0 ..< characters.count {
-            let thisChar = String(characters[startIndex.advancedBy(charN)])
-            let nextChar: String? = charN + 1 < characters.count ? String(characters[startIndex.advancedBy(charN + 1)]) : nil
+            let thisChar = String(characters[characters.index(startIndex, offsetBy: charN)])
+            let nextChar: String? = charN + 1 < characters.count ? String(characters[characters.index(startIndex, offsetBy: charN + 1)]) : nil
             if charN > 0
                 && previousChar != " "
                 && thisChar != " "

extension String {
    
    var uppercasedFirstCharacter: String {
        let index = startIndex.advancedBy(1)
        return substringToIndex(index).uppercaseString + substringFromIndex(index)
    }

    var lowercasedFirstCharacter: String {
        let index = startIndex.advancedBy(1)
        return substringToIndex(index).lowercaseString + substringFromIndex(index)
    }

    var words: [String] {
        return componentsSeparatedByCharactersInSet(NSCharacterSet.whitespaceCharacterSet()).filter { !$0.isEmpty }
    }
    
    var paintcodeCaseFromWords: String {

        }
    }

    func words(matching wordsArray: [String]) -> String? {
        let lowercasedWords = self.lowercasedWords
        return wordsArray.filter { words in
            return lowercasedWords == words.lowercasedWords
