uses 1D array for binding purposes