refactor into own notifier