         case FCTypeInt16
         case FCTypeInt32
         case FCTypeInt64
+        case FCTypeUInt8
+        case FCTypeUInt16
+        case FCTypeUInt32
+        case FCTypeUInt64
         case FCTypeFloat32
         case FCTypeFloat64
         case FCTypeData

    static func FCReadInt8(decoder : FCDecoder) -> Int8 {
        var value : Int8 = 0
        FCReadValue(&value, decoder: decoder)
        
        return value
        
    }
    
    static func FCReadInt16(decoder : FCDecoder) -> Int16 {
        var value : Int16 = 0
        FCReadValue(&value, decoder: decoder)
        
        return value
    }

    static func FCReadInt32(decoder : FCDecoder) -> Int32 {
        var value : Int32 = 0
        FCReadValue(&value, decoder: decoder)
        
        return value
    }
    
    static func FCReadInt64(decoder : FCDecoder) -> Int64 {
        var value : Int64 = 0
        FCReadValue(&value, decoder: decoder)
        
        return value
    }
    

            return false
        case .FCTypeInt8:
            return NSNumber(char: FCReadInt8(decoder))
        case .FCTypeUInt8:
            return NSNumber(unsignedChar:FCReadUInt8(decoder))
        case .FCTypeInt16:
            return NSNumber(short: FCReadInt16(decoder))
        case .FCTypeUInt16:
            return NSNumber(unsignedShort: FCReadUInt16(decoder))
        case .FCTypeInt32:
            return NSNumber(int: FCReadInt32(decoder))
        case .FCTypeUInt32:
            return NSNumber(unsignedInt: FCReadUInt32(decoder))
        case .FCTypeInt64:
            return NSNumber(longLong: FCReadInt64(decoder))
        case .FCTypeUInt64:
            return NSNumber(unsignedLongLong: FCReadUInt64(decoder))
        case .FCTypeFloat32:
            return FCReadFloat32(decoder)
        case .FCTypeFloat64:
