naive Watch implementation revised