add txt support for html shown; rewrite FileFormatOpener to make code more flexible