refactored some stuff, still figuring out how to adapt the driver class.