viewport and ai and bugifxing