aggiunti commenti e modificato alcuni metodi