An apparatus comprising: a transceiver module configured to communicate via a plurality of serving cells, wherein at least two of the serving cells have different time division duplexing, TDD, uplink-downlink, UL-DL, configurations; and a feedback controller coupled with the transceiver module and configured to: obtain a downlink assignment index, DAI; determine a total number of downlink subframes within a bundling window of a first serving cell of the plurality of serving cells, wherein the downlink subframes of the bundling window are associated with an uplink subframe for transmission of corresponding hybrid automatic repeat request - acknowledgment, HARQ-ACK, information; determine a number of HARQ-ACK bits, which corresponds to the first serving cell, available on a physical uplink shared channel, PUSCH, of the uplink subframe based on the DAI and the determined number of downlink subframes; wherein a maximum value of a number of scheduled downlink subframes within bundling windows of the plurality of serving cells is looked up from a mapping table using the DAI, and wherein the smaller one of the maximum value and the determined number of downlink subframes is selected as the number of HARQ-ACK bits for the first serving cell; and determine a HARQ-ACK codebook size on the PUSCH of the uplink subframe based on the number of HARQ-ACK bits for the first serving cell. a transceiver module configured to communicate via a plurality of serving cells, wherein at least two of the serving cells have different time division duplexing, TDD, uplink-downlink, UL-DL, configurations; and a feedback controller coupled with the transceiver module and configured to: obtain a downlink assignment index, DAI; determine a total number of downlink subframes within a bundling window of a first serving cell of the plurality of serving cells, wherein the downlink subframes of the bundling window are associated with an uplink subframe for transmission of corresponding hybrid automatic repeat request - acknowledgment, HARQ-ACK, information; determine a number of HARQ-ACK bits, which corresponds to the first serving cell, available on a physical uplink shared channel, PUSCH, of the uplink subframe based on the DAI and the determined number of downlink subframes; wherein a maximum value of a number of scheduled downlink subframes within bundling windows of the plurality of serving cells is looked up from a mapping table using the DAI, and wherein the smaller one of the maximum value and the determined number of downlink subframes is selected as the number of HARQ-ACK bits for the first serving cell; and determine a HARQ-ACK codebook size on the PUSCH of the uplink subframe based on the number of HARQ-ACK bits for the first serving cell. obtain a downlink assignment index, DAI; determine a total number of downlink subframes within a bundling window of a first serving cell of the plurality of serving cells, wherein the downlink subframes of the bundling window are associated with an uplink subframe for transmission of corresponding hybrid automatic repeat request - acknowledgment, HARQ-ACK, information; determine a number of HARQ-ACK bits, which corresponds to the first serving cell, available on a physical uplink shared channel, PUSCH, of the uplink subframe based on the DAI and the determined number of downlink subframes; wherein a maximum value of a number of scheduled downlink subframes within bundling windows of the plurality of serving cells is looked up from a mapping table using the DAI, and wherein the smaller one of the maximum value and the determined number of downlink subframes is selected as the number of HARQ-ACK bits for the first serving cell; and determine a HARQ-ACK codebook size on the PUSCH of the uplink subframe based on the number of HARQ-ACK bits for the first serving cell.