generations work, but get negative populations