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

        cached = if map[host][port][id]? then map[host][port][id] else null
        if cached
            # new ref type
            return @__addRemoteMarkers(id, host, port, 'ref')
        else
            # put it to cyclic checking map
            map[host][port][id] = true

        return result

    __newRemoteObjectDesc : (id, host, port) ->
        return @__createRemoteDesc(id, host, port , 'objDes')

    __newRemoteArrayDesc : (id, host, port) ->
        return @__createRemoteDesc(id, host, port , 'arrDes',{
            __r_arr : []
            })

    __addFuncToRemoteObjDesc : (desc, key, id) ->
        if not desc.__r_funcs?
