anchor.diff:  get_user(UserSubject, Issuer) ->
       load_and_return_user(UserSubject, Issuer).
   
  --spec user_wants_to_shutdown(ID :: binary()) -> ok.
  -user_wants_to_shutdown(ID) ->
  -    gen_server:call(?MODULE,{user_wants_to_shutdown,ID}).
  +-spec user_wants_to_shutdown(Pid :: pid()) -> ok.
  +user_wants_to_shutdown(Pid) ->
  +    gen_server:cast(?MODULE,{user_wants_to_shutdown,Pid}).
   
   %% gen_server.
   
   init([]) ->
   	{ok, #state{}}.
   
  -handle_call({create,UserId}, _From, State) ->
  -    Result = create_new_user(UserId),
  +handle_call({create,UserIdList}, _From, State) ->
  +    Result = create_new_user(UserIdList),
       {reply, Result, State};
  -handle_call({user_wants_to_shutdown,ID}, _From, State) ->
  -    {ok,Pid} = lookup_user(ID),
  -    true = delete_user(ID),
  -    ok = tts_user:shutdown(Pid),
  -    {reply, ok, State};
   handle_call(_Request, _From, State) ->
   	{reply, ignored, State}.
   
  +handle_cast({user_wants_to_shutdown,Pid}, State) ->
  +    {ok, UserInfo} = tts_user:get_user_info(Pid),
  +    #{user_ids := UserIDs} = UserInfo,
  +    true = delete_user_mappings(UserIDs),
  +    ok = tts_user:shutdown(Pid),
  +    {noreply, State};
   handle_cast(_Msg, State) ->
   	{noreply, State}.
   
  
positive.code: %% functions with data access
  %%
  
  add_new_user_entry(ID,Pid) ->
     tts_data:user_create_new(ID,Pid). 
  
  lookup_user(ID) ->
     tts_data:user_get_pid(ID). 
  
  delete_user(ID) ->
      tts_data:user_delete(ID).
  
  
negative.code: 
  create_user(UserId, {ok, UserInfo}) ->
      % TODO: maybe add a way to add multiple representations
      UserIds = maps:get(user_ids,UserInfo,[]),
      NewUserIds = [UserId | UserIds],
      NewUserInfo = maps:put(user_ids,NewUserIds,UserInfo),
      {ok, UserPid} = gen_server:call(?MODULE,{create,NewUserIds}),
      ok = tts_user:set_user_info(NewUserInfo,UserPid),
      {ok, UserPid};
  create_user(_, {error, not_found}) ->
      {error, not_found}.
  
  
  
  create_new_user(UserIdList) ->
      {ok, Pid} = tts_user_sup:add_user(),
      [UserId |_] = UserIdList,
      case add_new_user_entries(UserIdList,Pid) of
          ok -> 
              {ok, Pid};
          {error, already_exists} ->
  