naive multi-device support
mutiple devices and error handling