make species id a part of agent not gene, make type an enum rather than a string and change agent colour based on species