added --watch functionality