function except for notification implemented