Generalized the driver