add back: IDeviceHandler