reverting changes - unfinished
Returned to gene objects instead of arrays and added an API test