add api watch and unwatch