Merge Document-Viewer.. into Marster

Merging this branch will remove unnecessary code and improve speed dramatically.