watchEvent implemented