anchor.diff:  
   handle_line(Tab,Data) ->
     try
  -    [BID,RealName,LatinName,BNames,BLat,BLong,<<"P">>|_] = re:split(Data,"\t"),
  +    SD = re:split(Data,"\t"),
  +    [BID,RealName,LatinName,BNames,BLat,BLong,<<"P">>,_,CC|_] = SD,
       ID = list_to_integer(binary_to_list(BID)),
       Lat = bin_to_float(BLat),
       Long = bin_to_float(BLong),
  -    ets:insert(Tab,{ID,RealName,Lat,Long}),
  -    insert_names(Tab,ID,[RealName,LatinName|split_comma(BNames)])
  +    CCA = binary_to_atom(CC,latin1),
  +    ets:insert(Tab,{ID,RealName,CC,Lat,Long}),
  +    insert_names(Tab,ID,CCA,[RealName,LatinName|split_comma(BNames)])
     catch
       _:_ -> ok
     end.
  
positive.code: bin_to_float(B) ->
    case re:run(B,"\\.") of
      nomatch -> float(list_to_integer(binary_to_list(B)));
      _ -> list_to_float(binary_to_list(B))
    end.
  
  split_comma(B) ->
  
negative.code:     Ns     -> Ns
    end.
  
  insert_names(Tab,ID,CC,Names) ->
    [ets:insert(Tab,{{Name,CC,ID}}) || Name <- Names].
  