Add mostly finished multi-device support