a bunch of fixes (use diff for details); new CAT_Helper_Protect