adding viewportShape and viewportSize options