Adicionado comentários e pequenas modificações.