add protect function