rework the whole thing.