modify observer