add blade yield index and refactoring all other index element walkers