watch.js implementation +