Enhancing Multi-hop Communication over Multi-radio Multi-channel Wireless Mesh Networks: A cross-layer approach