initial break up of makeSwitch.  more work to be done.