add permission protector