driver.cpp modified