notes
separate descriptor code from usb core code
usb descriptors from HL code