viewport and mashapers