Move some things around.
Tweak middle step