 //
 
 public enum PropertyType: String {
-    case kUndefined         = "1" // NO ENCODE
-    case kBoolType          = "2" // Encode: DONE
-    case kIntType           = "3" // Encode: DONE (longValue)
-    case kDoubleType        = "4" // Encode: DONE
-    case kStringType        = "5" // Encode: partially done (length check TODO)
-    case kNSDateType        = "6" // TODO
-    case kNSUUIDType        = "7" // TODO
+    case tUndefined         = "1" // NO ENCODE
+    case tBool              = "2" // Encode: DONE
+    case tInt               = "3" // Encode: DONE (longValue)
+    case tDouble            = "4" // Encode: DONE
+    case tString            = "5" // Encode: partially done (length check TODO)
+    case tNSDate            = "7" // TODO
+    case tNSUUID            = "8" // TODO
     
     //case kNSURLType         = "C"  // TODO
     //case kNSRangeType       = "B"

        
        if (!nilValue) {
            switch (type) {
            case .kStringType:
                stringData = (decoder.decodeObjectForKey("0") as String)
            case .kBoolType, .kIntType, .kDoubleType:
            //numberData = NSNumber(bool:decoder.decodeBoolForKey("0"))
                numberData = (decoder.decodeObjectForKey("0") as NSNumber)
            //case .kIntType:
                //numberData = NSNumber(long:decoder.decodeIntegerForKey("0"))
             //   numberData = (decoder.decodeObjectForKey("0") as NSNumber)
            //case .kDoubleType:
            //    numberData = NSNumber(double:decoder.decodeDoubleForKey("0"))
            default:
                print("WARNING: Encoding Property and not handled default case")
            }

    public var value : AnyObject? {
        get {
            switch type {
            case  .tString:
                return stringData
            default:
                return numberData
