add viewer.js (test upstream)