support generic device type