Network coding is an effective method to improving relay efficiency by reducing the number of transmissions. However, its performance is limited by several factors such as packet length mismatch and rate mismatch. Although the former may be solved by re-framing, the latter remains a challenge and is likely to greatly degrade the efficiency of network coding. In this paper, we re-interpret network coding as a mapping of modulation constellation. On this basis, we extend such mapping to enable simultaneous use of different modulations by nesting the lowlevel constellation as a subset of the high level constellation. When relay links have different qualities, the messages of different flows are combined together in such a way that for each relay link its desired message is transmitted at its own highest rate. Compared with previous solutions to rate mismatch, the proposed scheme achieves the full rate of all relay links on the broadcast channel.