A method comprising: scheduling a transmission of a block of data for a first user device; puncturing a plurality of bits of the block of data for the first user device; transmitting a data packet including the block of data where the plurality of bits have been punctured, wherein the data packet comprises a first data packet; and pro-actively transmitting, by the base station to the first user device, at least the punctured plurality of bits, regardless whether feedback has been received from the user device regarding the data packet, wherein the pro-actively transmitting comprises: determining whether the plurality of punctured bits is greater than a threshold; pro-actively transmitting, by the base station to the first user device during a subsequent hybrid automatic repeat request retransmission time, only the punctured plurality bits if the punctured plurality of bits are not greater than the threshold, without waiting for feedback and regardless whether feedback has been received from the first user device regarding the first data packet; and otherwise, if the punctured plurality of bits are greater than the threshold, then pro-actively transmitting, by the base station to the first user device, a second data packet including the scheduled block of data for the first user device that includes the punctured plurality of bits, without waiting for feedback and regardless whether feedback has been received from the first user device regarding the first data packet. scheduling a transmission of a block of data for a first user device; puncturing a plurality of bits of the block of data for the first user device; transmitting a data packet including the block of data where the plurality of bits have been punctured, wherein the data packet comprises a first data packet; and pro-actively transmitting, by the base station to the first user device, at least the punctured plurality of bits, regardless whether feedback has been received from the user device regarding the data packet, wherein the pro-actively transmitting comprises: determining whether the plurality of punctured bits is greater than a threshold; pro-actively transmitting, by the base station to the first user device during a subsequent hybrid automatic repeat request retransmission time, only the punctured plurality bits if the punctured plurality of bits are not greater than the threshold, without waiting for feedback and regardless whether feedback has been received from the first user device regarding the first data packet; and otherwise, if the punctured plurality of bits are greater than the threshold, then pro-actively transmitting, by the base station to the first user device, a second data packet including the scheduled block of data for the first user device that includes the punctured plurality of bits, without waiting for feedback and regardless whether feedback has been received from the first user device regarding the first data packet. determining whether the plurality of punctured bits is greater than a threshold; pro-actively transmitting, by the base station to the first user device during a subsequent hybrid automatic repeat request retransmission time, only the punctured plurality bits if the punctured plurality of bits are not greater than the threshold, without waiting for feedback and regardless whether feedback has been received from the first user device regarding the first data packet; and otherwise, if the punctured plurality of bits are greater than the threshold, then pro-actively transmitting, by the base station to the first user device, a second data packet including the scheduled block of data for the first user device that includes the punctured plurality of bits, without waiting for feedback and regardless whether feedback has been received from the first user device regarding the first data packet.