split Device class into two classes: Device & DeviceClass