anchor.diff:  
   %@doc Parses JID (username part) of an agent (ex.: agent_s-10829_1_7_18225d4f-e3f7-4c18-9a18-d6c06992d272_-g)
   parse_component_jid(User) ->
  -  lists:zip([component, version, cores, jobs, uuid, ukn], lists:map(fun utf8/1, strings:tokens(User, "_"))).
  +  lists:zip([component, version, cores, jobs, uuid, ukn], lists:map(fun bson:utf8/1, strings:tokens(User, "_"))).
   
   %@doc Creates a MonoDB document describing the connection
   doc_create_connection({User, Host, Resource}, IPAddress) ->
  
positive.code:   Lng = proplists:get_value(longitude, GeoData),
    Lat = proplists:get_value(latitude, GeoData),
  
    {user,         utf8(User),
     host,         utf8(Host),
     resource,     utf8(Resource),
     loc,          [Lng, Lat],
     connected_at, bson:timenow(),
     connected,    true}.
  
negative.code: handle_cast({connect, JID, IPAddress}, State) ->
    Doc = doc_create_connection(JID, IPAddress),
    mongo_do(State, copilot, fun () -> mongo:save(connections, Doc) end);
  handle_cast({disconnect, {User, Host, Resource} = JID, _IPAddress}, State) ->
    mongo_do(State, copilot, fun () ->
      Cursor = mongo:find(connections, {user, bson:utf8(User),
                                        host, bson:utf8(Host),
                                        resource, bson:utf8(Resource),
                                        connected, true}),
      NewDoc = doc_close_connection(mongo:next(Cursor), JID, IPAddress),
      mongo:close_cursor(Cursor),
  