Alterações dos testes, e refatoração da implementação