def _setup_edge(driver_class, config=None, options=None, service=None, **kwargs):
    """
    Returns: selenium.webdriver.Edge || selenium.webdriver.Remote
    """
    if config.user_agent is not None:
        options.add_argument(f"--user-agent={config.user_agent}")

    if config.incognito:
        options.add_argument("--incognito")

    if config.fullscreen:
        options.add_argument("--kiosk")

    if config.headless:
        options.add_argument("--headless")
        options.add_argument("--disable-gpu")

    if config.extensions:
        for extension in config.extensions:
            options.add_extension(extension)

    if driver_class == Remote:
        rv = driver_class(options=options, **kwargs)
    else:
        rv = driver_class(options=options, service=service, **kwargs)

    return rv

    Returns: selenium.webdriver.Edge || selenium.webdriver.Remote
    
splinter/driver/webdriver/setup.py