thread watchdog:wip