add DeviceUtil