create Viewport.js