part 1 of notif refactor