makes some headway on #149 but doesn't finish it.