Better structure for adaptor and driver requires