Bunch of small things

Added some documentation
Fixed some stupid API things that I wrote earlier
Fixed up tests so that they incorporate said changes