Corrige um pequeno problema de implementação da função generate e tbm começa a refatora-la. Corrects a little problem in the generate function implementation and starts to refactor the same function.