     public func isValidInteger () -> Bool {
         if count(self) > 0 {
             if self[0] == "-" {
-                return substringFromIndex(advance(startIndex, 1)).isValidWholeNumber()
+                return decapitate().isValidWholeNumber()
             }
             return isValidWholeNumber()
         } else {

        var testSubject = self
        if count(testSubject) > 0 {
            if testSubject[0] == "-" {
                testSubject = testSubject.substringFromIndex(advance(testSubject.startIndex, 1))
            }
        }
        
        if count(testSubject) > 0 {
            if testSubject[0] == "$" {
                testSubject = testSubject.substringFromIndex(advance(testSubject.startIndex, 1))
            } else {
                return false
            }

    }
    
    
    
    
    
    
    
    // MARK: Substring
    public func decapitate () -> String {
        if count(self) > 0 {
            return substringFromIndex(advance(startIndex, 1))
        }
        return ""
    }
    
    
}