idea for driver implementation