add viewport code
tweaks