added Lots of tests
added Lots of tests