improved IS_HIDDEN