changed usb callback flow as per suggestions