         
         mappeds.append(mapped)
         
-        for mapable in mapables {
-            return serialize(object, object: mapable.1 as! Mapable, mappeds: mappeds)
+        mapables.forEach { key, value in
+            let s = serialize(object, object: value as! Mapable, mappeds: mappeds)
+            print("obj -> \(s)")
+            mappeds.appendContentsOf(
+                [s.last!]
+            )
         }
         
         return mappeds

        mapped["_class"] = String(object.dynamicType)
        
        if let p = parent {
            mapped["_parent"] = p.map()["uuid"]
        }
        
        object.map().forEach { key, value in
            if !(value.self is Mapable) {
                mapped[key] = value
            }
        }
        

    }
    
    private func finalize(mapped: [Mapped]) -> String? {
        print("Mapped -> \(mapped)")
        return NSString(
            data: try! NSJSONSerialization.dataWithJSONObject(mapped, options: NSJSONWritingOptions(rawValue: 0)),
            encoding: NSUTF8StringEncoding
        ) as? String
    }
    
    private func serialize(parent: Mapable?, object: Mapable, var mappeds: [Mapped] = [Mapped]()) -> [Mapped] {
