Separate the astGene from utility functions