avoid PROTECTED macros