il risultato è quello che vorrei ottenere, ma non ci sarebbe un modo + semplice per riassumere tutto il codice?