added primitive USB support