working on viewport