refactor; make index module to be sub modules of shell
refactor