make handling viewport packet independent of avatar packet