ifunc minor progress