added viewport sizing