OO and watch implementation

OO and watch implementation