improve driver interface