reorganize some. Added the function prototypes at the top
release the GIL on USB calls.