implemented watch tree visitor