versao final, faltando testar