anchor.diff:  				      is_tuple(Value) ->
       [{Key, Value} | Entry].
   
  -%% @doc @todo
  +%% @doc Delete an attribute:value pair from an LDAP object
  +%% @spec object_delete(Key, Entry) -> Entry
  +%%       Key -> list() | bitstring()
  +%%       Entry -> list()
   object_delete(Key, Entry) when is_list(Key) ->
       object_get(list_to_bitstring(Key), Entry);
   object_delete(Key, Entry) when is_bitstring(Key) ->
       lists:keydelete(Key, 1, Entry).
   
  -%% @doc @todo
  +%% @doc Create a reveresed DN from a DN
  +%% @spec rdn(DN) -> DN
  +%%       DN -> list()
   rdn(DN) ->
       lists:reverse(DN).
   
  -%% @doc @todo
  +%% @doc Convert eMongo item representation into a PartialAttribute
   item_to_attribute({_Name, {oid, _}}) ->
       [];
   item_to_attribute({<<"_rdn">>,_}) ->
  
positive.code: init(_) ->
      {ok, {}}.
  
  %% @doc @todo
  dispatch(Pid, ProtocolOp, MessageID, BindDN, From) ->
      gen_server:cast(Pid, {ProtocolOp, MessageID, BindDN, From}).
  
  %% @doc @todo
  bind(BindDN, {simple, Password}) ->
      Filter = {equalityMatch, 
  	      {'AttributeValueAssertion', "userPassword", Password}},
  
negative.code: 		    ScopeFilter ++ EntryFilter,
  		    FieldsOption ++ LimitOption).
  
  %% @doc Process a reply from search/6, send result entries to FSM if required.
  search_reply(_From, SearchResult,_MessageID) when is_atom(SearchResult) ->
      SearchResult;
  search_reply(From, [Item|Result], MessageID) ->
  