refactored notifications