add a difference thing
merge
document watch. Fix sync race condition in watch