Rework to be more straigh-forward.