add a TextCorpus implementation that will enable replacing layers, addresses #3