added definition of viewport