removed repeat code.  Turns out, there was a lot that wasn't repeated;
I think this could have been done more efficiently and cleanly