anchor.diff:        prefixed("joining management process: ~w", [Pid]),
         loop(Manager);
       {manage, Pid, terminate} ->
  -      prefixed("receive terminate signal from [~w]", [Pid])
  +      prefixed("receive terminate signal from [~w]", [Pid]);
  +
  +    {node, Pid, spawn} ->
  +      Node = node_manager:get(),
  +      prefixed("spawn new node, allocated with [~w]", [Node]),
  +      NPid = new_clustercc_node(Node),
  +      Pid ! {node, self(), alloc, NPid}
     end.
  +
  +new_clustercc_node(Node) ->
  +  Pid = spawn_link(fun() -> clustercc_main(Node) end),
  +  ok  = workers_join(Pid),
  +  Pid.
   
   join_all_processes(Manager, []) ->
     receive
  
positive.code: 
  %% SSH cli callback implementations
  
  init(_) -> {ok, []}.
  
  terminate(_, _) -> nothing_to_do.
  
  
negative.code:     _ -> io:format(standard_error, "~w~n", [Msg])
    end,
    {ok, State}.
  
  %% clustercc
  
  clustercc_main(_Node) -> nothing_to_do.
  