added base functionality for driver, needs args