riscritte un po' di funzioni