basic logic to notify all listeners