changed protect()