refactoring usb support