minor, but *0 based* should be *0-based* or better *zero-based* through-out.