Lots of fun stuff.  Closes #14, Closes #13, Closes #12, Close #10 and a little bit of #9