custom driver design