anchor.diff:                  lager:info("Init: ~p will not be used for login", [Id]);
               false ->
                   ok
  -        end,
  -        add_openid_provider(T, LocalEndpoint)
  +        end
       catch Error:Reason ->
               Msg = "Init: error occured OpenId Connect provider ~p: '~p' ~p",
               lager:critical(Msg, [Id, Error, Reason])
  -    end;
  +    end,
  +    add_openid_provider(T, LocalEndpoint);
   add_openid_provider([], _) ->
       ok.
   
   
  +%% @doc waits for the configured provides to either fail or be ready.
  +%% The configuration max_provider_wait sets the max time to wait, the
  +%% default is 5 seconds. Reducing this time will speedup the startup.
  +%% @see wait_and_log_provider_results/3
  +-spec wait_and_log_provider_results() -> ok.
   wait_and_log_provider_results() ->
       {ok, List} = oidcc:get_openid_provider_list(),
       Max = erlang:system_time(seconds) + ?CONFIG(max_provider_wait, 5),
       ok = wait_and_log_provider_results(List, [], Max),
       ok.
   
  +%% @doc iterate through the list of oidc provider and check their status.
  +%% A new list is set up with pending provider and maybe checked again if
  +%% the timeout has not yet been reached.
  +%% @see maybe_recheck_provider/3
  +-spec wait_and_log_provider_results(Provider :: [{Id::binary(), Pid::pid()}],
  +                                    Pending :: [{Id::binary(), Pid::pid()}],
  +                                    Timeout :: integer()) -> ok.
   wait_and_log_provider_results([], [], _Max) ->
       ok;
   wait_and_log_provider_results([], List, Max) ->
  
positive.code: %% <li> add the configured services <em>add_services</em> </li>
  %% <li> start the web interface <em>start_web_interface</em></li>
  %% </ul>
  %%
  -spec handle_cast(any(), tuple()) -> {noreply, tuple()} |
                                        {stop, normal, tuple()}.
  handle_cast(check_watts_not_started, State) ->
  
negative.code:     lists:foldl(Output, ok, List),
      ok.
  
  
  %% @doc Add RSPs if enabled in the configuration.
  %% Relaying Service Provider are only added if configured, else the
  %% configured RSPs are not added to the running WaTTS instance.
  %% @see add_rsps/0
  -spec maybe_add_rsps(Enabled :: boolean() ) -> ok.
  maybe_add_rsps(true) ->
      add_rsps();
  maybe_add_rsps(_) ->
      ?SETCONFIG(rsp_list, []),
      ok.
  
  %% @doc Add the configured RSPs as they are enabled in the config.
  %% The function iterates through the configuration and updates them.
  %% No keys are fetched yet, only the configuration is updated.
  %% @see watts_rsp:new/1
  %% @see watts_rsp
  -spec add_rsps() -> ok.
  add_rsps() ->
      lager:info("Init: adding relying service provider (RSP)"),
      UpdateRsp =
  