added functionality to handle arbitrary, and arbitrarily large array numbers