Refactor to use watchob