start to refactor the gene grouper