changes to allow WebDriver subclassing