Added a whole lot of tests