anchor.diff:      end.
   
   %% @doc This function takes all the records in the zone, and filters out them by looking for
  -%% those of the same type and region in the name _geo.[REGION].example.com
  +%% those of the same type and region in the name _geo.[REGION].example.com. If none are found
  +%% it trys to find georecords with a wildcard in the name.
  +%% @end
   -spec filter_georecords(binary(), dns:dname(), dns:type()) -> [dns:rr()].
   filter_georecords(RegionName, QName, QType) ->
  -    erldns_log:info("QNAME: ~p", [QName]),
       case get_zone_with_records(QName) of
           {ok, Zone} ->
               filter_georecords(RegionName, QName, QType, Zone#zone.records, []);
           _ ->
               [_ | Rest] = dns:dname_to_labels(QName),
  +            %% Wildcard for geo records. ex) _geo.[REGION].*.example.com
               WildcardName = <<"_geo.", RegionName/binary, ".", (dns:labels_to_dname([<<"*">>] ++ Rest))/binary>>,
               filter_record_set(erldns_zone_cache:get_records_by_name(WildcardName))
       end.
  
positive.code:     Acc;
  filter_georecords(RegionName, QName, QType, [DNSRR | T], Acc) ->
      RegionSize = byte_size(RegionName),
      erldns_log:info("QNAME: ~p", [QName]),
      case DNSRR of
          #dns_rr{name = <<"_geo.", RegionName:RegionSize/binary, ".", QName/binary>>, type = QType} ->
              filter_georecords(RegionName, QName, QType, T, [DNSRR#dns_rr{name = QName} | Acc]);
  
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
  