anchor.diff:  rows_limit(NRows, Recs, {?MODULE, Pid}) ->
       gen_fsm:send_event(Pid, {rows_limit, {NRows, Recs}}).
   
  --spec delete({delete, {atom(), any()}} | {delete_object, any()}, {atom(), pid()}) -> ok.
  -delete({Tab, Key}, {?MODULE,Pid}) ->
  -    ?Info("delete ~p ~p", [Tab, Key]),
  -    gen_fsm:send_event(Pid,{delete, Tab, Key});
  -delete(Record, {?MODULE,Pid}) ->
  -    ?Info("delete ~p", [Record]),
  -    gen_fsm:send_event(Pid,{delete_object, Record}).
  +-spec delete({list(), _}, {atom(), pid()}) -> ok.
  +delete({Rows,Completed},{?MODULE,Pid}) ->
  +    ?Info("delete ~p ~p", [Rows, Completed]),
  +    gen_fsm:send_event(Pid,{delete, {Rows,Completed}}).
   
   -spec fetch(atom(), atom(), #state{}) -> #state{}.
   fetch(FetchMode,TailMode, #state{bufCnt = Count, ctx = #ctx{fetch_recs_async_fun = Fraf}}=State0) ->
  
positive.code:     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)],
      ets:insert(TableId, RawRows),
      IndRows = [?IndRec(R,SortFun) || R <- lists:filter(FilterFun,RawRows)],
      % ?Info("data_append (~p) -IndRows- ~p", [SN,IndRows]),
  
negative.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, {Recs,Complete}}, State0) ->
      State1 = data_append(tailing,{Recs,Complete,del},State0),
      {next_state, tailing, State1#state{pfc=0}};
  tailing({rows, {Recs,Complete}}, State0) ->
      State1 = data_append(tailing,{Recs,Complete},State0),
      {next_state, tailing, State1#state{pfc=0}};
  tailing(Other, State) ->
  