this article should be merged with watchdog timer