watchdog impl