added some more tests.
added overloading!