adds element-level exception throwing