anchor.diff:                  {ok, LSock} ->
                       io:format("~p started imem_server ~p @ ~p~n", [self(), LSock, {ListenIf, ListenPort}]),
                       gen_server:cast(self(), accept),
  -                    true = erlang:register(?MODULE, self()),
                       {ok, #state{lsock=LSock}};
                   Reason ->
                       io:format("~p [ERROR] imem_server not started ~p~n", [self(), Reason]),
  -                    true = erlang:register(?MODULE, self()),
                       {ok, #state{}}
               end;
           _ ->
  
positive.code:     {reply, ok, State}.
  
  handle_cast(accept, #state{lsock=LSock}=State) ->
      {ok, Sock} = gen_tcp:accept(LSock),
      % io:format("accept conn ~p~n", [Sock]),
      {ok,Pid} = gen_server:start(?MODULE, [Sock, true], []),
      ok = gen_tcp:controlling_process(Sock, Pid),
      gen_server:cast(Pid, activate),
  
negative.code:         {ok, LSock} ->
              io:format("~p started imem_server ~p @ ~p~n", [self(), LSock, {ListenIf, ListenPort}]),
              gen_server:cast(self(), accept),
              {reply, ok, #state{lsock=LSock}};
          Reason ->
              io:format("~p [ERROR] imem_server not started ~p~n", [self(), Reason]),
              {reply, Reason, State}
      end;
  handle_call(_Request, _From, State) ->
  