implemented a weak renderer switcher