refactor device and driver
refactor connection and adaptor