factored out most multi stuff
more refactoring out
cleaning up
more cleanup