Device-to-Device Systems