anchor.diff:  %%                                      {stop, Reason, State}
   %% Description: Handling cast messages
   %%--------------------------------------------------------------------
  +% Good spot for optimization
  +handle_cast({stop_app, App, From}, #state{current_backends = CurrBackends} = State) ->
  +  BackendOfApp = lists:filter(fun(Backend) -> Backend#backend.app_name =:= App#app.name end, CurrBackends),
  +  
  +  lists:map(fun(Backend) ->
  +    internal_stop_instance(Backend, App, From)
  +  end, BackendOfApp),
  +  
  +  NewBackends = lists:subtract(CurrBackends, BackendOfApp),
  +  NewAvailablePorts = lists:map(fun(B) -> B#backend.port end, NewBackends),
  +  {noreply, State#state{current_backends = NewBackends, available_ports = NewAvailablePorts}};
  +  
   handle_cast(_Msg, State) ->
     {noreply, State}.
   
  
positive.code: 
  % kill the instance of the application  
  internal_stop_instance(Backend, App, From) ->
    RealCmd = template_command_string(App#app.stop_command, [
                                                          {"[[PORT]]", erlang:integer_to_list(Backend#backend.port)},
                                                          {"[[GROUP]]", App#app.group},
  
negative.code:     [{Key, _B}] ->
        ets:delete(?MODULE, Key);
      _ -> true
    end.
  
  % turn the command string from the comand string with the values
  % of [[KEY]] replaced by the corresponding proplist element of
  