add watch and unwatch variants