S2s print

long term I would like to clean this up and probably rewrite the printing code into something a little more coherent.  The code is kind of a mess so I'm afraid to touch it and I'm afraid if I mess with it too much I'll break something.