Resolvendo exercicio 12: Refatoração completa