but really shouldn't we throw an exception if the index is out of bounds?