Refatorando, adicionando testes