Adicionado alguns comentários e feita limpeza de código