non riesco a postare il codice ...è troppo lungo!