- bug fix: possible memory leak in Watch function
- add more final clause