A method for transmitting control symbols and data symbols on multiple input, multiple output, MIMO, layers, the method comprising: selecting a first set of codewords from N cw codewords, wherein the first set of codewords is associated with a first set of layers from the multiple MIMO layers, and wherein the N cw codewords are to be transmitted simultaneously and the first set of codewords comprises N cw1 MIMO codewords, where N cw and N cw1 are integers greater than or equal to 1; distributing the control symbols onto the first set of layers; placing data symbols of the first set of codewords onto the first set of layers; placing data symbols of the Ncw - Ncw1 remaining codewords to remaining layers if N cw > N cw1, wherein the remaining layers are MIMO layers from the multiple MIMO layers not in the first set of layers; and transmitting the multiple MIMO layers, characterized in that wherein the control symbols comprise channel quality information, CQI, precoding matrix indicators, PMI, hybrid automatic repeat requested, HARQ, positive acknowledgement, ACK/negative acknowledgement, NACK, signals, rank indicator, RI, signals, or a combination thereof; wherein, for multiplexing control and data symbols in a single codeword, the number of coded symbols is defined by: Q ' = min ⌈ O ⋅ M sc PUSCH − initial ⋅ N symb PUSCH − initial ⋅ N layer ⋅ β offset PUSCH ∑ r = 0 C − 1 K r ⌉, 4. M sc PUSCH ⋅ N layer for ACK, NACK and RI, and Q ' = min ⌈ O + L ⋅ M sc PUSCH − initial ⋅ N symb PUSCH − initial ⋅ N layer ⋅ β offset PUSCH ∑ r = 0 C − 1 K r ⌉, M sc PUSCH ⋅ N symb PUSCH ⋅ N layer − Q RI Q m for CQI, where, O is the number of ACK/NACK bits, M SC PUSCH is the scheduled bandwidth for PUSCH transmission in the current subframe, N sym PUSCH is the number of symbols in the current PUSCH transmission sub-frame, N layer is the number of layers for the multiplexed codeword, C and K are obtained from initial physical downlink control channel, PDCCH, for the same codeword, β offset PUSCH is an offset parameter; wherein, for multiplexing control and data symbols in all codewords, the number of coded symbols is defined by: Q ' = min ⌈ O ⋅ M sc PUSCH − initial ⋅ N symb PUSCH − initial ⋅ N layer,1 + N layer,2 ⋅ β offset PUSCH ∑ r = 0 C 1 − 1 K r,1 + ∑ r = 0 C 2 − 1 K r,2 ⌉, 4 ⋅ M sc PUSCH ⋅ N layer,1 + N layer,2 for ACK, NACK and RI, and Q ' = min ⌈ O + L ⋅ M sc PUSCH − initial ⋅ N symb PUSCH − initial ⋅ N layer,1 + N layer,2 ⋅ β offset PUSCH ∑ r = 0 C 1 − 1 K r,1 + ∑ r = 0 C 2 − 1 K r,2 ⌉, M sc PUSCH ⋅ N symb PUSCH ⋅ N layer,1 + N layer,2 − Q RI ' for CQI, wherein, subscripts n = 1, 2 correspond to codeword 1 and codeword 2 respectively; wherein, in each of the above calculations, value of the offset β is configured based on number of layers of PUSCH transmission. selecting a first set of codewords from N cw codewords, wherein the first set of codewords is associated with a first set of layers from the multiple MIMO layers, and wherein the N cw codewords are to be transmitted simultaneously and the first set of codewords comprises N cw1 MIMO codewords, where N cw and N cw1 are integers greater than or equal to 1; distributing the control symbols onto the first set of layers; placing data symbols of the first set of codewords onto the first set of layers; placing data symbols of the Ncw - Ncw1 remaining codewords to remaining layers if N cw > N cw1, wherein the remaining layers are MIMO layers from the multiple MIMO layers not in the first set of layers; and transmitting the multiple MIMO layers, characterized in that wherein the control symbols comprise channel quality information, CQI, precoding matrix indicators, PMI, hybrid automatic repeat requested, HARQ, positive acknowledgement, ACK/negative acknowledgement, NACK, signals, rank indicator, RI, signals, or a combination thereof; wherein, for multiplexing control and data symbols in a single codeword, the number of coded symbols is defined by: Q ' = min ⌈ O ⋅ M sc PUSCH − initial ⋅ N symb PUSCH − initial ⋅ N layer ⋅ β offset PUSCH ∑ r = 0 C − 1 K r ⌉, 4. M sc PUSCH ⋅ N layer for ACK, NACK and RI, and Q ' = min ⌈ O + L ⋅ M sc PUSCH − initial ⋅ N symb PUSCH − initial ⋅ N layer ⋅ β offset PUSCH ∑ r = 0 C − 1 K r ⌉, M sc PUSCH ⋅ N symb PUSCH ⋅ N layer − Q RI Q m for CQI, where, O is the number of ACK/NACK bits, M SC PUSCH is the scheduled bandwidth for PUSCH transmission in the current subframe, N sym PUSCH is the number of symbols in the current PUSCH transmission sub-frame, N layer is the number of layers for the multiplexed codeword, C and K are obtained from initial physical downlink control channel, PDCCH, for the same codeword, β offset PUSCH is an offset parameter; wherein, for multiplexing control and data symbols in all codewords, the number of coded symbols is defined by: Q ' = min ⌈ O ⋅ M sc PUSCH − initial ⋅ N symb PUSCH − initial ⋅ N layer,1 + N layer,2 ⋅ β offset PUSCH ∑ r = 0 C 1 − 1 K r,1 + ∑ r = 0 C 2 − 1 K r,2 ⌉, 4 ⋅ M sc PUSCH ⋅ N layer,1 + N layer,2 for ACK, NACK and RI, and Q ' = min ⌈ O + L ⋅ M sc PUSCH − initial ⋅ N symb PUSCH − initial ⋅ N layer,1 + N layer,2 ⋅ β offset PUSCH ∑ r = 0 C 1 − 1 K r,1 + ∑ r = 0 C 2 − 1 K r,2 ⌉, M sc PUSCH ⋅ N symb PUSCH ⋅ N layer,1 + N layer,2 − Q RI ' for CQI, wherein, subscripts n = 1, 2 correspond to codeword 1 and codeword 2 respectively; wherein, in each of the above calculations, value of the offset β is configured based on number of layers of PUSCH transmission.