Terceira versão com os testes concluidos