Segunda analise, após refatoramento do código