fix bug: sometimes doesn't notify