add viewport, update coffeescript