this can throw an ArrayIndexOutOfBoundsException when index is too big.. should it?