add text watcher