Cleaned up Driver and Optimisation