recursive ci/cd from Kevin (w 1st cut of subfunc fix)