write by yiting
gff