add basic watch implementation