add preliminary watch/stopwatching implementation