content protection functions