Refactored to use driver classes.