anchor.diff:                       proplists:delete(<<"observation_value">>, Data)).
       
   
  -to_json_object(Property, Type, _Len, Col, Depth) ->
  +to_json_object(Property, Type, _Len, Col) ->
       %% DAMN NONSENSE GUARD
       %% if length(Col) > Len ->
       %%         error({"too long text", Col, Len});
       %%    true ->
  -    {list_to_binary(Property), to_json_object(Type, Col, Depth)}.
  -%%end.
  +    %% split repeat
  +    %% get_separator(1) -> "[~]";
  +    BinProperty = list_to_binary(Property),
  +    case re:split(Col, "[~]", [{return,list},unicode]) of
  +        [] ->
  +            {BinProperty, null};
  +        [Token] ->
  +            {BinProperty, to_json_object(Type, Token, 0)};
  +        Tokens when is_list(Tokens) ->
  +            {BinProperty, [to_json_object(Type, T, 0) || T <- Tokens]}
  +    end.
   
   to_json_object('ST', Col, _D)-> unicode:characters_to_binary(Col);
   to_json_object('TX', Col, _D)-> unicode:characters_to_binary(Col);
  
positive.code:                                       
                                   ({{Property, Type, Length, _Text}, Col}) ->
                                        %% ?debugVal({Property, Type}),
                                        to_json_object(Property, Type, Length, Col, 0)
                        end,
                        lists:zip(MsgDef, Tokens)),
              Data = lists:filter(fun({_,null}) -> false;
  
negative.code: 
  %% Work arounds
  to_json_object('*', Col, _) -> {'*', Col}; %% as it is and process later
  to_json_object('FN', Col, _D)->  unicode:characters_to_binary(Col); %% undefined
  to_json_object('SAD', Col, _D)-> unicode:characters_to_binary(Col); %% undefined
  to_json_object('SPS', Col, _D)-> unicode:characters_to_binary(Col); %% undefined, maybe, and exists.
  to_json_object('AUI', Col, _D)-> unicode:characters_to_binary(Col); %% undefined, maybe, and exists.
  %% to_json_object('XCN', Col, _D)-> unicode:characters_to_binary(Col); %% broken data exists and less important
  
  to_json_object(Name, Col, Depth)->
      to_record(Name, Col, Depth).
  
  get_separator(0) -> "[\\^]";
  get_separator(1) -> "[\\\\]";
  get_separator(2) -> "[&]".
  
  to_record(Name, Col, Depth) ->
      Tokens0 = re:split(Col, get_separator(Depth), [{return,list},unicode]),
  