save progress every gen