going to OSX, I think the device object is a bad idea