cleaned up driver.py and started validate implementation