viewport is controlled via variables