added watcher; fixed deref issue