rework logic for processing *-ext stuff, old way was prone to causing a bug if new filtering is added after *-ext stuff