viewport model