added cprotect