Forward progress, per #136. Still needs testing