Added a whole bunch of tests