Initial working version for detect() method
 - Still unsure of how to deal with 'vendor'
 - Need to figure out what model==null means