Added recursive function (hidden) for geno add