My background was 9 years of Fortran, then 25 years of nothing, then 10 years of FutureBasic. Perhaps I misunderstood how parameters worked in a function call. I have had the impression that variables/arrays included in a function call could be accessed ("read") by the function, but not successfully modified within the function ("written"). This was a distinct difference from my Fortran experience where the addresses were passed and any actions within the subroutine affected the variables/arrays passed to it. It was this perhaps misunderstanding that caused me to use globals for any routines that needed to change multiple variables/arrays beyond the single variable that could be passed back as result=fn whatever(variable1, array2, etc). My apologies for my ignorance.