removed IIAF in favor of a named function closure