anchor.diff:      case emongo:find_one(eds, ?COLL, [{"_rdn", rdn(DN)}]) of
   	[] -> noSuchObject;
   	[Entry] ->
  -	    OldDN = bitstring_to_list(object_get(<<"dn">>, Entry)),
  +	    OldDN = bitstring_to_list(ldap_obj:get(<<"dn">>, Entry)),
   	    BaseDN = lists:dropwhile(fun(C) -> C =/= $, end, OldDN),
   	    NewDN = NewRDN ++ BaseDN,	   
  -	    ModDN = object_modify(<<"dn">>, NewDN, Entry),
  -	    NewEntry = object_modify(<<"_rdn">>, rdn(NewDN), ModDN),
  +	    ModDN = ldap_obj:modify(<<"dn">>, NewDN, Entry),
  +	    NewEntry = ldap_obj:modify(<<"_rdn">>, rdn(NewDN), ModDN),
   	    Response = emongo:update_sync(eds, ?COLL, [{<<"_rdn">>, rdn(DN)}], NewEntry, false),
   	    parse_response(Response)
       end.	
  
positive.code: %% @doc Apply ModifyRequest change atoms to an object
  modify_apply({'ModifyRequest_changes_SEQOF', add, Change}, Entry) ->
      {Key, Value} = attribute_to_item(Change),
      object_insert(Key, Value, Entry);
  modify_apply({'ModifyRequest_changes_SEQOF', replace, Change}, Entry) ->
      {Key, Value} = attribute_to_item(Change),
      object_modify(Key, Value, Entry);
  modify_apply({'ModifyRequest_changes_SEQOF', delete, Change}, Entry) ->
      {Key,_Value} = attribute_to_item(Change),
      object_delete(Key, Entry).
  
  %% @doc Parse eMongo response code
  parse_response([Response]) ->
  
negative.code: 	[_Entry] -> entryAlreadyExists;
  	[] ->
  	    Entry = lists:map(fun(A) -> attribute_to_item(A) end, Attrs),
  	    AddDN = ldap_obj:insert(<<"dn">>, DN, Entry),
  	    NewEntry = ldap_obj:insert(<<"_rdn">>, rdn(DN), AddDN),	    
  	    Response = emongo:insert_sync(eds, ?COLL, NewEntry),
  	    parse_response(Response)
      end.
  