starting to implement new DeviceDetector structure