anchor.diff:                              MaxBundle = erlang:max(200, MQL div 100),
                               T1 = set_msg_queue(State, {[{DestPid, Message}], [Options]}),
                               T2 = set_msg_queue_len(T1, 1),
  -                            set_desired_bundle_size(T2, erlang:min(MQL,MaxBundle));
  +                            % note: need to set the bundle size equal to MQL
  +                            % -> to process this 1 msg + MQL messages (see below)
  +                            set_desired_bundle_size(T2, erlang:min(MQL, MaxBundle));
                          true ->
                               NewSocket =
                                   send({dest_ip(State), dest_port(State), Socket},
  
positive.code:                     Socket = socket(State),
                      %% io:format("Sending packet with ~p msgs~n", [length(msg_queue(State))]),
                      {MQueue, OQueue} = msg_queue(State),
                      NewSocket =
                          send({dest_ip(State), dest_port(State), Socket},
                               unpack_msg_bundle, MQueue, OQueue, State),
                      T1State = set_socket(State, NewSocket),
                      T2State = inc_s_msg_count(T1State),
                      T3State = set_msg_queue(T2State, {[], []}),
                      T4State = set_msg_queue_len(T3State, 0),
                      _T5State = set_msgs_since_bundle_start(T4State, 0);
                  false -> State
              end
      end.
  
  -spec state_new(DestIP::inet:ip_address(), DestPort::comm_server:tcp_port(),
                  LocalListenPort::comm_server:tcp_port(), Channel::main | prio,
  
negative.code:             fail
      end.
  
  -spec send_bundle_if_ready(state()) -> state().
  send_bundle_if_ready(InState) ->
      QL = msg_queue_len(InState),
      case QL of
  