added DeviceIGen