notify change refactor