fix *all* the bugs