1) why don't we extend from TextESS?
2) In fact why don't we use TextESS, and we need an additional file?