forked from: TextViewer

