new notify & refactor