anchor.diff:  lookup(Address) ->
       gen_server:call(?MODULE, {lookup, Address}).
   
  +%% @spec lookup_pl(Address) -> geoip()
  +%% @doc Get a proplist version of a geoip() record for the given address.
  +lookup_pl(Address) ->
  +    case lookup(Address) of
  +        {ok, #geoip{} = R} ->
  +            E = record_info(fields, geoip),
  +            lists:zip(E, lists:map(fun ensure_binary_list/1,
  +                                   tl(tuple_to_list(R))));
  +        Other ->
  +            Other
  +    end.
  +
  +%% @spec record_fields() -> Fields::list()
  +%% @doc Get an ordered list of the geoip record fields
  +record_fields() ->
  +    record_info(fields, geoip).
  +
   %% @spec filename() -> string()
   %% @doc Get the database filename currently being used by the server.
   filename() ->
  
positive.code:     ok = stop(),
      {parse_100k_addr, pytime(EndParse) - pytime(StartParse)}.
  
  bench() ->
      bench(10000).
  
  
negative.code: %% in-process API
  -export([new/1, new/0]).
  -export([lookup/2]).
  
  
  %% useful utility functions
  -export([ip2long/1]).
  