anchor.diff:    werkzeug:logging(Logfile, lists:concat(FullMessage)),
     Logfile.
   
  --spec initial_state(map()) -> map().
  -initial_state(State) ->
  -  receive
  -    {From, getsteeringval} ->
  -      Config = maps:get(config, State),
  -      {ok, WorkingTime} = werkzeug:get_config_value(arbeitszeit, Config),
  -      {ok, TerminationTime} = werkzeug:get_config_value(termzeit, Config),
  -      {ok, QuotaPercentage} = werkzeug:get_config_value(quote, Config),
  -      {ok, GGTProcessNumber} = werkzeug:get_config_value(ggtprozessnummer, Config),
  -      Quota = max(2, round(length(maps:get(clients, State)) * QuotaPercentage / 100)),
  -      From ! {steeringval, WorkingTime, TerminationTime, Quota, GGTProcessNumber},
  -      log(["getsteeringval: ", pid_to_list(From)]),
  -      initial_state(State);
  -    {hello, ClientName} ->
  -      NewState = maps:update(clients, maps:get(clients, State) ++ [ClientName], State),
  -      log(["hello: ", atom_to_list(ClientName), " #ofclients: ", integer_to_list(length(maps:get(clients, NewState)))]),
  -      initial_state(NewState);
  -    reset -> initial_state(maps:update(clients, [], State));
  -    kill -> shutdown(maps:get(config, State), maps:get(clients, State));
  -    step -> build_ring(maps:get(config, State), werkzeug:shuffle(maps:get(clients, State)))
  -  end,
  -  State.
  -
  -build_ring(Config, Clients) ->
  -  set_neighbors(Clients, Clients),
  -  {ok, Correct} = werkzeug:get_config_value(korrigieren, Config),
  -  step(Config, Clients, Correct, utils:max_int_value()).
  -
  -set_neighbors([Middle, Last], [First, Second | _Tail]) ->
  -  Last ! {setneighbors, Middle, First},
  -  First ! {setneighbors, Last, Second};
  -
  -
  -set_neighbors([Left, Middle, Right | Tail], Clients) ->
  -  Middle ! {setneighbors, Left, Right},
  -  set_neighbors([Middle, Right] ++ Tail, Clients).
  -
   step(Config, Clients, Toggled, Minimum) ->
     receive
       toggle -> step(Config, Clients, not(Toggled), Minimum);
       prompt -> promt_all_ggt(Clients);
       nudge -> check_status_all_ggt(Clients);
       {calc, WggT} -> startCalculation(WggT, Clients);
  -    kill -> shutdown(Config, Clients);
  +    kill -> shutdown(#{config => Config, clients=> Clients});
       {briefmi, {Clientname, CMi, CZeit}} ->
         log(["Client " + Clientname + " informs about new Mi ", CMi, " at ", CZeit]),
         NewMinimum = update_minimum(CMi, Minimum),
  
positive.code:   check_status_all_ggt(RestClients)
  .
  
  
  init_coordinator(Config) ->
    log(["starttime: ", werkzeug:timeMilliSecond(), " with PID ", pid_to_list(self())]),
  
negative.code:       end
    end
  .
  
  handle_briefterm(CMi, Minimum, Client, CZeit) ->
    if
  