anchor.diff:  query_master_for_records(MasterIP, ServerIP, QueryList) ->
       erldns_zone_transfer_worker:query_for_records(MasterIP, ServerIP, QueryList).
   
  -%% @doc This functin recieves a list of dns_rr records and does all the magic as far as geolocation.
  -%% It will remove geolocation records, and match geolocation data with the record. It will remove duplicates
  +%% @doc This function takes the incomming IP and the query name and type. It then
  +%% uses the egeoip db to find IP information inorder to find the  region associated
  +%% with that IP.
  +%% @end
   -spec match_georecords(inet:ip_address(),  dns:dname(), dns:type()) -> [dns:rr()].
   %% TEST FUNCTIONS ----------------------------------
   match_georecords({127,0,0,1}, Qname, Qtype) ->
  
positive.code: %% used to determine if the zone requires updating.
  %%
  %% This function will build the necessary Zone record before inserting.
  -spec put_zone({binary(), binary(), [#dns_rr{}]}) -> ok | {error, Reason :: term()}.
  put_zone({Name, Sha, Records, AllowNotifyList, AllowTransferList, AllowUpdateList, AlsoNotifyList,
            NotifySourceIP}) ->
  
negative.code:             get_region(Continent, Country, SubRegion, Qname, Qtype)
      end.
  
  %% @doc This function takes arguments to get the region from the lookup table
  -spec get_region(binary(), binary(), binary(), dns:dname(), dns:type()) -> [binary()].
  get_region(Continent, Country, SubRegion, Qname, Qtype) ->
      case erldns_storage:select(lookup_table, {Continent, Country, SubRegion}) of
  