finished implementing speciation (but it's untested so isn't being called yet)@