device_query refactor: compiling and accepting options

Doesn't do anything yet