add constructor to DeviceType