added retransmission optimizations