anchor.diff:      NewRawCnt = RawCnt+Cnt,
       NewRawTop = min(RawTop,RawBot+1),   % initialized .. 1 and then changed only in delete or clear
       NewRawBot = RawBot+Cnt,
  -    RawRows = [raw_row_expand({I,nop,RK}, RowFun) || {I,RK} <- lists:zip(lists:seq(RawBot+1, NewRawBot), Recs)],
  +    RawRows = [raw_row_expand({I,Op,RK}, RowFun) || {I,RK} <- lists:zip(lists:seq(RawBot+1, NewRawBot), Recs)],
       ets:insert(TableId, RawRows),
       IndRows = [?IndRec(R,SortFun) || R <- lists:filter(FilterFun,RawRows)],
       % ?Info("data_append (~p) -IndRows- ~p", [SN,IndRows]),
  
positive.code: %             ?Info("fallback to tailing -- row~n~p~n", [Rec]),
  %             State1 = data_append(tailing,{[Rec],tail},State0),
  %             {next_state, tailing, State1#state{pfc=0}}
  %     end;      
  tailing({delete, Tab,Key}, State) ->
      ?Info("tailing  -- row deleted ~p:~p~n", [Tab,Key]),
      {next_state, tailing, State};
  tailing({delete, Record}, State) ->
      ?Info("tailing  -- row deleted ~p~n", [Record]),
      {next_state, tailing, State};
  tailing({rows, {Recs,Complete}}, State0) ->
      % ?Info("tailing  -- row~n", []),
      State1 = data_append(tailing,{Recs,Complete},State0),
      {next_state, tailing, State1#state{pfc=0}};
  tailing(Other, State) ->
  
negative.code:                 }. 
  
  -spec data_append(atom(), tuple(), #state{}) -> #state{}.
  data_append(SN, {Rows,Status}, State) ->
      data_append(SN, {Rows, Status, nop}, State);
  data_append(SN, {[],_Complete,_Op},#state{nav=_Nav,rawBot=_RawBot}=State0) -> 
      NewPfc=State0#state.pfc-1,
      % ?Info("data_append -~p- count ~p bufBottom ~p pfc ~p", [_Nav,0,_RawBot,NewPfc]),
      serve_stack(SN, State0#state{pfc=NewPfc});
  data_append(SN, {Recs,_Complete,Op},#state{nav=raw,tableId=TableId,rawCnt=RawCnt,rawTop=RawTop,rawBot=RawBot}=State0) ->
      NewPfc=State0#state.pfc-1,
      Cnt = length(Recs),
      NewRawCnt = RawCnt+Cnt,
      NewRawTop = min(RawTop,RawBot+1),   % initialized .. 1 and then changed only in delete or clear
      NewRawBot = RawBot+Cnt,
      % ?Info("data_append (~p) count ~p bufBot ~p pfc ~p", [SN,Cnt,NewRawBot,NewPfc]),
      ets:insert(TableId, [list_to_tuple([I,Op|[R]])||{I,R}<-lists:zip(lists:seq(RawBot+1, NewRawBot), Recs)]),
      serve_stack(SN, set_buf_counters(State0#state{pfc=NewPfc,rawCnt=NewRawCnt,rawTop=NewRawTop,rawBot=NewRawBot}));
  data_append(SN, {Recs,_Complete,Op},#state{nav=ind,tableId=TableId,indexId=IndexId
          ,rawCnt=RawCnt,rawTop=RawTop,rawBot=RawBot,indCnt=IndCnt
          ,guiTop=GuiTop,guiBot=GuiBot,guiCol=GuiCol
          ,rowFun=RowFun,filterFun=FilterFun,sortFun=SortFun}=State0) ->
  