fix the KVO bug