anchor.diff:                    {ok, _} -> Pubs
                 end,
       NewSubs = case dict:find(Channel, Subs) of
  -                  error -> dict:store(Channel, SubsriberPid, Subs);
  +                  error -> dict:store(Channel, SubscriberPid, Subs);
                     {ok, _} -> Subs
                 end,
       State#state{publishers = NewPubs, subscribers = NewSubs};
  
positive.code:     % TODO: make robust
      {ok, PublisherPid} = dict:find(Channel, Pubs),
      gen_server:call(PublisherPid, {publish, jsx:encode([{<<"message">>, Message},
                                                          {<<"publisher">>, Channel}, 
                                                          {<<"user_id">>, UserId},
                                                          {<<"user_data">>, UserData}
                                                         ])}),
  
negative.code:              State
      end;
  
  process_message(Msg, State) ->
      io:format("unknown message ~p ~n", [Msg]),
      State .
  