add callback to doWatch