In this work, different approaches for improving the bandwidth efficiency of Multiple Access Channels have been proposed. Such improvements can be achieved with methods that use network coding or with methods that implement successive decoding. Both of these two methods have been discussed here. Under the first method, two novel schemes for using network coding in cooperative networks have been proposed. In the first scheme, network coding generates some redundancy in addition to the redundancy that is generated by the channel code. In the second scheme, the relay by use of the network code, sends a compressed version of the parts missing from the original transmission. The second method, involves a scheme to increase the channel capacity of an existing channel. This increase is made possible by the introduction of a new Raptor coded interfering channel to an existing channel. Through successive decoding at the destination, the data of both main and interfering sources is decoded. Finally, we generalize our work to allow the possibility of decoding either the secondary source data or the main source data first. We will investigate the performance and delay for each decoding scheme.