issue #9 - refatorando testes e código