some refactoring in watch nodes