outsource offspring generation to dedicated function (very much work in progress; not finished yet)