Added lots of tests :-)