anchor.diff:      end.	
   
   %% @doc @todo
  -add(_BindDN,_DN,_Attributes) ->
  -    success.
  +add(_BindDN, DN, Attrs) ->
  +    case emongo:find_one(eds, ?COLL, [{"_rdn", rdn(DN)}]) of
  +	[_Entry] -> entryAlreadyExists;
  +	[] ->
  +	    Entry = lists:map(fun(A) -> attribute_to_item(A) end, Attrs),
  +	    AddDN = object_insert(<<"dn">>, DN, Entry),
  +	    NewEntry = object_insert(<<"_rdn">>, rdn(DN), AddDN),	    
  +	    Response = emongo:insert_sync(eds, ?COLL, NewEntry),
  +	    parse_response(Response)
  +    end.
   
   %% @doc @todo
   parse_response([Response]) ->
  
positive.code:     object_get(list_to_bitstring(Key), Entry);
  object_get(Key, Entry) when is_bitstring(Key) ->
      element(2, lists:keyfind(Key, 1, Entry)).
  
  %% @doc @todo
  rdn(DN) ->
  
negative.code: %% @doc @todo
  attribute_to_item({'PartialAttribute', Name, [Value]}) when is_list(Name),
  							    is_list(Value) ->
      {list_to_bitstring(Name), list_to_bitstring(Value)};
  attribute_to_item({'PartialAttribute', Name, Value}) when is_list(Name),
  							  is_list(Value) ->
      {list_to_bitstring(Name), {array, [list_to_bitstring(V) || V <- Value]}}.
  
  handle_cast({{bindRequest, Options}, MessageID,_BindDN, From}, State) ->
      {'BindRequest',_, BindDN, Creds} = Options,
  