switched for loop to be more efficient, removed try/catch, which speeds things up a bit. misses the last index but that can be a special case .
works and is twice as fast as enumerate