Better structure to driver, updated tests
updated tests