anchor.diff:  localhost(#erlv8_fun_invocation{}, []) ->
   	net_adm:localhost().
   
  -nodes(#erlv8_fun_invocation{},[]) ->
  -	?V8Arr(nodes()).
  +nodes(#erlv8_fun_invocation{ vm = VM },[]) ->
  +	NodeCtor = erlv8_vm:retr(VM, {?MODULE, ctor_Node}),
  +	?V8Arr(lists:map(fun (Node) ->
  +							 NodeObj = NodeCtor:instantiate([atom_to_list(Node)]),
  +							 NodeObj:set_prototype(prototype_Node()),
  +							 NodeObj
  +					 end, nodes())).
  
positive.code: init(_VM) ->
  	ok.
  
  exports(_VM) ->
   	?V8Obj([{"node", fun node/2},
  			{"ping", erlv8_fun:new(fun ping/2, 
  								   ?V8Obj([{"__doc__", 
  											"<code>ping(nodename)</code>\n\n"
  
negative.code: 												 "the -name command line flag, it will return a fully qualified name."}]))},
  			{"nodes", fun nodes/2}]).
  
  prototype_Node() ->
  	?V8Obj([{"ping", fun ping/2}]).
  
  node(#erlv8_fun_invocation{},[]) ->
  	node().
  
  new_node(#erlv8_fun_invocation{ this = This },[Name]) when is_list(Name) ->
  	This:set_value("name", Name).
  
  
  ping(#erlv8_fun_invocation{ this = This },[]) ->
  	Node = list_to_atom(This:get_value("name")),
  	case net_adm:ping(Node) of
  		pong ->
  			true;
  		pang ->
  