more proper use of viewport and stuff
more tests