add removeObserver before addObserver