 #   __r_id
 #   __r_host
 #   __r_port
-#   __r_type : 'objDes'
+#   __r_type : 'objDes' or 'arrDes' or 'dateDes'
+#   __r_arr : [ elements for array]
+#   __r_date : date.toJSON()
 #   __r_props : {
 #       key/value mapping of primitive types and other remote object descriptor
 #   }

        

    __newRemoteFunctionDesc : (id, host, port) ->
        return @__addRemoteMarkers(id, host, port , 'funcDes')
        
    #map is used to check cyclic reference
    __serializeObject : (obj, map)->

                }
                return funcDesc
            # serialize object
            if lodash.isArray(obj)
                objDesc = @__newRemoteArrayDesc(id, @host, @port)
                #we only care elements in array
                #if the array has member function
                for element in obj
                    objDesc.__r_arr.push(@__serializeObject(element,map))
                return objDesc
                
            
            objDesc = @__newRemoteObjectDesc(id, @host, @port)
            for k, v of obj
                if @_isPrivate(k, obj.__r_skip)
