Segunda versão com testes