Finished code for all existing options except thumbnail viewer

@deavmi can u have a look at adding a thumbnail viewer