worked more on viewport