add watch functionality