good example of how protected class attribute can be used to limit method access.
Several ways to index and add to an array.  Positive and negative indexing.  If the index is beyond the range it returns nil (ie. array length is 10 and you do -100).  Also, you can assign another array to a array, a[1] = [1,2] and it puts it at that position, replacing teh other.  Or, if you do this a[1,0] = 'bob' it sticks bob in before the 1 and doesn't replace.  or a[1,0] = [1, 2, 3] will stick in all three and not replace.  if you specify a length in the array replacement other than zero, it will replace all entries starting at that point with what you entered in, so a[2,2] = 'cat' starts at position 2 and replaces 2 elements with just the one entry cat.
some examples of the cool a[2,3] - two specifier array assignment.  very very neat.  not sure where it would be used... an advanced tool... but cool.
use push and pop to create a stack (last in last out)