Adicionei um pouco que fiz da geracod