refactored notification