add viewport stuff