made the driver param for constructor optional and fixed the instantiation call when the driver param is not passed.