anchor.diff:  -spec init(Args :: [{atom(), term()}]) ->
       {ok, State :: #state{}} | {stop, Reason :: term()}.
   init(Args) ->
  +    Pid = proplists:get_value(pid, Args),
  +    MonitorRef = erlang:monitor(process, Pid),
       IP = proplists:get_value(ip, Args),
       Port = proplists:get_value(port, Args),
       Username = proplists:get_value(username, Args),
  
positive.code: handle_info({ssl_closed, Port}, State) ->
      ?debug("ssl_closed: ~p, stopping..", [Port]),
      {stop, ssl_closed, State};
  handle_info({ssl, Socket, <<B1,B2, Data/binary>>}, State = #state{transaction_register = TR}) ->
      ?debug("Received ssl data: ~p",[Data]),
      spawn_link(?MODULE, handle_incomming_data, [<<B1,B2>>, Data, TR]),
      ok = ssl:setopts(Socket, [{active, once}]),
      {noreply, State};
  handle_info(_Info, State) ->
      ?debug("Unhandled info received: ~p", [_Info]),
      {noreply, State}.
  
  terminate(_Reason, _State) ->
      ok.
  
  code_change(_OldVsn, State, _Extra) ->
  
negative.code: 			  CFMWoP,
  	    
  	    SaltedPassword = scramerl_lib:hi(Normalized, Salt, IterCount),
  	    ?debug("SaltedPassword: ~p~n",[SaltedPassword]),
  	    ?debug("AuthMessage: ~p~n",[AuthMessage]),
  	    ClientFinalMsg = scramerl:client_final_message(Nonce,
  							   SaltedPassword,
  							   AuthMessage),
  