tutta la funzione