use notification center instead of delegate