         switch plistObject {
             
         case let string as String:
-            self.init(string: string)
+            self.entityType = .String(string)
             
         case let float as Float:
-            self.init(float:float)
+            self.entityType = .Number(float)
             
         case let double as Double:
-            self.init(float: Float(double))
+            self.entityType = .Number(Float(double))
             
         case let date as NSDate:
-            self.init(date: date)
+            self.entityType = .Date(date)
             
         case let int as Int:
-            self.init(int: int)
+            self.entityType = .Number(int)
             
         case let bool as Bool:
-            self.init(bool: bool)
+            self.entityType = .Number(bool)
             
         case let data as NSData:
-            self.init(data: data)
+            self.entityType = .Data(data)
             
         case let plist as Plist:
-            self.init(plist: plist)
+            self.entityType = plist.entityType
            
         case let array as NSArray:
             var pAr : [Plist] = []

                let p = Plist(plistObject: any)
                pAr.append(p)
            }
            self.init(array: pAr)
            
        case let array as [Plist]:
            println()
            self.init(array: array)
            
        case let dictionary as [String : Plist]:
            self.init(dictionary: dictionary)
            
        case let dictionary as NSDictionary:
            var dic : [String : Plist] = [:]

                }
            }
            
            self.entityType = .Dictionary(dic)
            
        default:
            print("value \(plistObject) is not a valid property list type")
            self.entityType = .String("")
            assertionFailure("Use only property list complient class.")
        }
    }
}

