Distributed channel allocation for D2D-enabled 5G networks using potential games