notify observers improvements