Algumas alterações e inserção de testes. Ainda falta tirar alumas
dúvidas, pois existem testes que estão com erro.