eliminati alcuni while annidati