 
 public func >(lhs: JSON, rhs: JSON) -> Bool {
     
-    if lhs.numberValue != nil && rhs.numberValue != nil {
-        return lhs.numberValue > rhs.numberValue
+    if lhs.number != nil && rhs.number != nil {
+        return lhs.number > rhs.number
     }
     
     if lhs.type != rhs.type {

            }
        }
    }

    public var charValue: Int8? {
        get {
            if let number = self.numberValue {
                return number.charValue
            } else {
                return nil
            }
        }
    }
    
    public var unsignedCharValue: UInt8? {
        get{
            if let number = self.numberValue {
                return number.unsignedCharValue
            } else {
                return nil
            }
        }
    }
    
    public var shortValue: Int16? {
        get{
            if let number = self.numberValue {
                return number.shortValue
            } else {
                return nil
            }
        }
    }
    
    public var unsignedShortValue: UInt16? {
        get{
            if let number = self.numberValue {
                return number.unsignedShortValue
            } else {
                return nil
            }
        }
    }
    
    public var longValue: Int? {
        get{
            if let number = self.numberValue {
                return number.longValue
            } else {
                return nil
            }
        }
    }
    
    public var unsignedLongValue: UInt? {
        get{
            if let number = self.numberValue {
                return number.unsignedLongValue
            } else {
                return nil
            }
        }
    }
    
    public var longLongValue: Int64? {
        get{
            if let number = self.numberValue {
                return number.longLongValue
            } else {
                return nil
            }
        }
    }
    
    public var unsignedLongLongValue: UInt64? {
        get{
            if let number = self.numberValue {
                return number.unsignedLongLongValue
            } else {
                return nil
            }
        }
    }
    
    public var floatValue: Float? {
        get {
            if let number = self.numberValue {
                return number.floatValue
            } else {
                return nil
            }
        }
    }
    
    public var doubleValue: Double? {
        get {
            if let number = self.numberValue {
                return number.doubleValue
            } else {
                return nil
            }
        }
    }

    public var integerValue: Int? {
        get {
            if let number = self.numberValue {
                return number.integerValue
            } else {
                return nil
            }
        }
    }
    
    public var unsignedIntegerValue: Int? {
        get {
            if let number = self.numberValue {
                return number.unsignedIntegerValue
            } else {
                return nil
            }
        }
    }
}


public func >=(lhs: JSON, rhs: JSON) -> Bool {
    
    if lhs.number != nil && rhs.number != nil {
        return lhs.number >= rhs.number
    }
    
    if lhs.type != rhs.type {
