no need to observe op