this should probably return something more defined if the number is out of range (I guess it would return undefined now, null looks more "on purpose," or throw an exception...)